Jenkins检查是否在Bitbucket上创建了Pull Request

时间:2018-12-21 09:41:42

标签: git jenkins bitbucket pull-request

如何从jenkins职位级别检查 ?是否在Bitbucket上创建了“拉取请求”?我猜解决方案可能是从詹金斯工作中使用Bitbucket API?

我不想从Bitbucket level开始这样做,因为这是许多项目触发的通用工作。

1 个答案:

答案 0 :(得分:0)

您可以使用BitBucket's Pull Request REST API来达到相同的目的。

例如。

curl -u <USERNAME>:<PASSWORD> -X GET <BITBUCKET_ROOT>/rest/api/1.0/projects/<PROJECT>/repos/<APPLICATION>/pull-requests/<PR_ID>/changes

如果存在“拉取请求”,则API将更改作为JSON返回。如果不是,则返回如下所示的错误JSON。

{"errors":[{"context":null,"message":"Pull request <PR_ID> does not exist in <PROJECT>/<APPLICATION>.","exceptionName":"com.atlassian.bitbucket.pull.NoSuchPullRequestException"}]}

您可以在传统的Jenkins作业构建之前或之后的“执行Shell脚本”步骤中使用上述curl命令,或者,如果想进一步控制构建作业的时间和方式,可以使用Jenkins Pipeline。 / p>