【问题标题】:Creating release using Octopus rest API使用 Octopus REST API 创建发布
【发布时间】:2013-06-18 02:51:33
【问题描述】:

请任何人解释我如何使用 Octopus REST API 创建发布。
我可以使用 octo.exe 创建一个版本,但不知道如何使用 REST API。
我浏览了http://localhost:8080/api,但不知道如何创建发布。

这个 REST api 是否提供该功能?

【问题讨论】:

  • 是的,这是一个 RESTful API,它们确实提供了一个端点来创建发布。实际上,它们提供了相当多的端点。但是,他们的大多数文档并不完整,也没有提供简单的入门方法。如果您可以选择使用他们的工具,我建议您这样做。这些工具可以在octopus.com/downloads 找到

标签: rest octopus-deploy


【解决方案1】:

我自己没有使用过 Octopus,但据我了解,您必须向这样的 URL 发出 HTTP POST 请求:

http://localhost:8080/api/projects/1/releases

在您的请求正文中,您指定与使用命令行工具相同的参数,但您必须将它们编码为 JSON。

【讨论】:

    【解决方案2】:

    我自己也遇到过类似的问题。

    为了创建发布,您必须向 Octo 服务器发出 POST 请求。

    https://myoctoserver:port/api/releases

    提供以下标题:

    • X-Octopus-ApiKey:API-XXXXXXXXXXXX
    • 内容类型:应用程序/json

    请求的正文必须是JSON。下面是一个例子:

    {
        "Version": "2017.02.25.183053" ,
        "ProjectId": "MyProject" ,
        "ChannelId": "DefaultOrOtherChannelId
    }
    

    VersionProjectId 属性是必需的。频道 ID 是可选的。但是,如果您有多个频道,或者如果您的项目中没有频道被标记为默认,那么您还必须包含ChannelId

    我希望这会有所帮助!


    卷曲示例

    下面的示例已经成功。

    BODY='{"ProjectId":"'$PROJECT_ID'","ChannelId":"Channels-1","Version":"'$VERSION'","SelectedPackages":[{"StepName":"$STEP_NAME1","Version":"'$VERSION'"},{"StepName":"$STEP_NAME2","Version":"'$VERSION'"}]}'
    
    curl -X POST --write-out %{http_code} --silent --output /dev/null -H "X-Octopus-ApiKey:$API_KEY" -H "Content-Type:application/json" -d $BODY "https://octopus.example.com/api/releases"
    

    备注

    为了找到ChannelIdProjectId,我必须查询八达通数据库。 ID 将类似于 Projects-1Channel-1

    【讨论】:

    • 这会返回一个错误:没有为步骤“获取包”指定包版本。他们的 API 文档真的很差……
    • 我更新了我的帖子,加入了我之前使用过的 curl 示例。 @mieliespoor 包由版本和项目 ID 指定。如果您有一个版本为0.5 的项目Foo,那么json 应该类似于{"Version": "0.5", "ProjectId": "Foo", ChannelId: "Channels-1"}
    【解决方案3】:

    与 Octopus REST API 接口的文档还有很多不足之处: https://github.com/OctopusDeploy/OctopusDeploy-Api/wiki/Releases

    我永远无法通过这种方法让它工作,相反,我使用octo.exe command line utility to create releases

    octo create-release --project HelloWorld --version 1.0.3 --server http://octopus/ --apiKey API-ABCDEF123456
    

    Octo.exe 包含在 tentacle 或服务器安装中,Octopus 也将其作为单独的实用程序提供: http://octopusdeploy.com/downloads

    【讨论】:

      猜你喜欢
      • 2018-08-23
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 2020-05-23
      • 2019-03-05
      • 2016-09-01
      • 2021-08-12
      相关资源
      最近更新 更多