我可以使用 Bamboo Rest 下载 Bamboo 构建的工件吗 - API?

Can I download Bamboo built artifacts using Bamboo Rest - API?

This 页面状态:

Bamboo's REST APIs provide the following capabilities:

  • Retrieve the artifacts for a build.

here 我看到了文档:

http://myhost.com:8085/bamboo/rest/api/latest/plan/{projectKey}-{buildKey}/artifact [GET]

当我使用我的 bamboo 服务器尝试这个 link 时,例如:

https://my.bamboo.server/rest/api/latest/plan/MY-PLAN/artifact

我得到的是:

<artifacts expand="artifacts">
    <link href="http://my.bamboo.server/rest/api/latest/plan/MY-PLAN/artifact" rel="self"/>
    <artifacts start-index="0" max-result="0" size="0"/>
</artifacts>

所以我对 REST 文档的理解是完全错误的,还是 MY-PLAN 可能有问题,这个 link 应该会像我期望的那样为我提供一个 war 文件?

有一些问题与您的问题相关:https://jira.atlassian.com/browse/BAM-11706 和 BAM-16315(已删除,因为它包含客户详细信息)

你有 link

<link href="http://my.bamboo.server/rest/api/latest/plan/MY-PLAN/artifact" rel="self"/>

使用 curl 你可以下载神器。

curl --user ${username}:{password} http://my.bamboo.server/rest/api/latest/plan/MY-PLAN/artifact

恐怕您误解了 REST 文档; "Retrieve the artifacts for a build"表示"retrieves information about the build artifacts defined for a given plan"。正如您已经看到的,您得到的只是一个 XML 或 JSON 文档,描述了所定义的工件。

如果你想下载一个实际的构建工件,你需要编写一个脚本,使用 /rest/api/latest/result/ 来获取最新的成功构建信息,并从中形成一个实际的下载 link 到神器。

这是其余的 api 文档

https://docs.atlassian.com/atlassian-bamboo/REST/latest

搜索“/latest/result”文档

http://myhost.com:8085/rest/api/latest/result/{projectKey}-{buildKey}-{buildNumber : ([0-9]+)|(latest)} [GET]

示例xml请求

https://bamboo.server.com/rest/api/latest/result/projectKey-buildKey-buildNumber?expand=artifacts

示例json请求

https://bamboo.server.com/rest/api/latest/result/projectKey-buildKey-buildNumber.json?expand=artifacts

解析响应中的工件节点。每个工件都应该有一个 href 属性。 将 href 传递给 curl 以下载工件。您可能需要为休息 api 身份验证设置一个 Bamboo 令牌。

卷曲请求示例

curl -X GET -H "Authorization: Bearer ${BAMBOO_TOKEN}" $ARTIFACT_HREF