【问题标题】:How to change an existing build status in Artifactory from a Jenkins job如何从 Jenkins 作业更改 Artifactory 中的现有构建状态
【发布时间】:2016-06-07 14:45:54
【问题描述】:
您好,我有一个这样的 Jenkins 构建管道: 1. 构建应用程序并部署到 Artifactory; 2. 在测试服务器(远程)上运行 SSH exec 命令以下载工件并将它们部署到正确的目录中; 3. 针对测试服务器运行 Web 测试,如果通过,将 Artifactory 中的构建状态更改为类似于 pre-staging 的状态,以进行进一步的手动 UAT 测试。我的问题是,如何从 Jenkins 工作中更改 Artifactory 中的构建状态。如果需要使用 Artifactory 的 RESTAPI,有人可以分享一个例子吗?非常感激!
【问题讨论】:
标签:
build
jenkins
continuous-integration
release-management
artifactory
【解决方案1】:
是的,REST API 是最简单的方法。
您需要拨打Build Promotion 电话。请注意,它需要 Artifactory Pro。
这是一个 POST 请求,接受简单的 json 字符串,其中只有两个属性是必需的:status 和 ciUser。
调用应该如下所示:
curl -X POST -u admin:password -H "Content-Type: application/json" -d '{"status":"tests passed","ciUser":"jenkinsAdmin"}' "http://localhost:8081/artifactory/api/build/promote/buildName/buildNumber"