如何从 Jenkins 作业更改 Artifactory 中的现有构建状态

Kev*_*vin 3 continuous-integration build release-management artifactory jenkins

嗨,我有一个 Jenkins 构建管道,如下所示: 1. 构建应用程序并部署到 Artifactory;2. 在测试服务器(远程)上运行 SSH exec 命令以下载工件并将它们部署到正确的目录中;3. 对测试服务器运行 web 测试,如果通过,将 Artifactory 中的构建状态更改为类似 pre-staging 以进行进一步手动 UAT 测试。我的问题是,如何从 Jenkins 作业更改 Artifactory 中的构建状态。如果需要使用 Artifactory 的 RESTAPI,有人可以分享一个例子吗?非常感激!

JBa*_*uch 5

是的,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"
Run Code Online (Sandbox Code Playgroud)