如何检查构建状态,从BitBucket管道运行Jenkins作业?
我们使用BitBucket来托管Git存储库 我们已经在本地托管的Jenkins服务器中定义了构建作业 我们想知道在请求获得批准后,是否可以使用BitBucket管道在Jenkins中触发构建 通过RESTAPI触发Jenkins中的作业相当简单如何检查构建状态,从BitBucket管道运行Jenkins作业?,jenkins,bitbucket,bitbucket-pipelines,Jenkins,Bitbucket,Bitbucket Pipelines,我们使用BitBucket来托管Git存储库 我们已经在本地托管的Jenkins服务器中定义了构建作业 我们想知道在请求获得批准后,是否可以使用BitBucket管道在Jenkins中触发构建 通过RESTAPI触发Jenkins中的作业相当简单 1: curl --request POST --user $username:$api_token --head http://jenkins.mydomain/job/myjob/build 这将返回一个位置响应头。通过对其进行获取,我们可以获得
1: curl --request POST --user $username:$api_token --head http://jenkins.mydomain/job/myjob/build
这将返回一个位置响应头。通过对其进行获取,我们可以获得有关排队项目的信息:
2: curl --user $username:$api_token http://jenkins.mydomain/queue/item/<item#>/api/json
2:curl——用户$username:$api\u令牌http://jenkins.mydomain/queue/item//api/json
这将返回描述排队项的JSON,指示该项是否被阻止以及原因。如果不是,则包含构建的URL。这样,我们就可以检查构建本身的状态:
3: curl -–user $username:$api_token http://jenkins.mydomain/job/myjob/<build#>/api/json
3:curl-–用户$username:$api\u令牌http://jenkins.mydomain/job/myjob//api/json
这将返回更多的json,指示作业当前是否正在生成,如果已完成,则表示生成是否成功
现在BitBucket管道步骤在Docker容器中运行,并且必须在Linux上运行。我们的Jenkins build作业在许多平台上运行,但并非所有平台都是Linux。但是BitBucket不应该在意。可以在Linux中进行必要的RESTAPI调用,正如我在上面的示例中所做的那样
但是我们如何编写脚本呢
我们是否创建一个单独的步骤来运行shell脚本,该脚本运行命令#1,然后重复调用命令#2直到构建启动,然后重复调用命令#3直到构建完成
或者我们创建三个步骤,每个步骤一个?BitBucket管道是否提供台阶上的循环?调用一个步骤,等待一段时间,然后再次调用它直到成功?我认为您应该使用Bitbucket管道或Jenkins管道。使用这两种方法将为您提供许多选择,并使项目变得更加复杂