【问题标题】:How to update build status for PR merge commit如何更新 PR 合并提交的构建状态
【发布时间】:2020-05-07 22:02:18
【问题描述】:

我们可以使用这个命令来更新提交的构建状态:

curl "https://api.github.com/repos/chnlmeter/$repo_name/statuses/$GIT_COMMIT?access_token=$github_build_status_token" \
  -H "Content-Type: application/json" \
  -X POST \
  -d "$(cat <<EOF
{"state": "success","context": "continuous-integration/jenkins", "description": "Jenkins", "target_url": "$BUILD_URL"}
EOF
)"

我的问题是 - 我想在集成分支和功能分支之间创建一个临时合并提交,然后测试该提交 - 在合并发生之后,而不是之前。 github有没有办法创建合并提交,然后通知jenkins该提交?然后我想更新该提交的构建状态,以便它显示在 Github 的拉取请求页面上。

上图会显示在 PR 页面上,但它只与功能分支提交有关,而不是合并提交,它会导致两个分支的实际合并。

【问题讨论】:

标签: jenkins github github-api


【解决方案1】:

假设 PR 是可合并的,您可以获取引用 refs/pull/NUM/merge,其中 NUM 是 PR 编号,其中应包含 PR 中的分支和基础分支的合并。这应该在 PR 打开时立即可用,或者在此后不久提供。

测试完之后,您可以根据需要创建另一个状态。首先创建一个进行中状态可能很有用,以防止人们在没有先运行两组测试的情况下合并。

【讨论】:

  • 当然,但是更新 PR 的 Github UI 的 POST 请求是什么样的?
  • 它会与您当前的完全一样,但 context 参数和 target_url 不同。请注意,您还应该停止使用查询参数进行身份验证,因为那是 going away
猜你喜欢
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
  • 2020-10-17
  • 1970-01-01
  • 2020-04-26
  • 1970-01-01
  • 2018-07-11
相关资源
最近更新 更多