我可以使用 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
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