gpt4 book ai didi

Jenkins:对 Bitbucket 拉取请求发表评论

转载 作者:行者123 更新时间:2023-12-04 11:35:48 25 4
gpt4 key购买 nike

我们的 Jenkins + Bitbucket 云集成已经工作并使用多分支管道作业通知 Bitbucket 拉取请求的构建状态。
现在我想增强它并添加预览环境,例如在 pr150.testing.company.com这样我们就可以在合并之前测试实时生产版本。我计划使用 docker-compose 来动态启动/停止预览环境。
现在,Jenkins 需要使用指向预览环境的链接来评论 Bitbucket 拉取请求。我知道the Bitbucket API supports creating pull request comments.
我想象这样的评论:
A Jenkins pull request comment
This example is taken from Jenkins-X
Jenkins 的任何 Bitbucket 插件是否支持自动创建此类评论?
编辑:澄清一下,一个自动评论拉取请求的插件就足够了。在我们这边创建评论的内容是没有问题的。

最佳答案

我找不到插件,但您可以执行 shell 命令作为作业构建的一部分来执行此操作。由于 Jenkins 处理提交而不是拉取请求,因此有点麻烦。您需要先使用 API 从分支名称中获取拉取请求 ID。使用 REST 1.0 API,您可以这样做。

BranchName=`echo ${GIT_BRANCH} | sed 's/origin\///'`
PullRequestID=`curl -s --request GET --url '{bitbucket_url}/rest/api/1.0/projects/{project_key}/repos/{repo_key}/pull-requests?State=OPEN&at=refs/heads/'${BranchName}'&direction=OUTGOING' --header 'Content-Type: application/json' -u username:password | sed -n 's/.*"values":\[{"id":\([0-9]*\).*/\1/p'`
echo '{"text": "Here's my comment with hyperlink"}' > comment.json
curl --request POST --url '{bitbucket_url}/rest/api/1.0/projects/{project_key}/repos/{repo_key}/pull-requests/'$PullRequestID'/comments' --header 'Content-Type: application/json' -u username:password -d @comment.json
rm comment.json
笔记:
  • 远程名称可能不是原点,而是特定于项目的名称。检查控制台日志以找到它
  • 2.0 API 需要更改,但概念应保持不变
  • 关于Jenkins:对 Bitbucket 拉取请求发表评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64909521/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com