如何更新 PR 合并提交的构建状态
How to update build status for PR merge commit
我们可以使用此命令来更新提交的构建状态:
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 页面上,但它仅与功能分支提交有关,而不是合并提交,这将是两个分支实际合并的结果。
假设 PR 是可合并的,您可以获取引用 refs/pull/NUM/merge
,其中 NUM
是 PR 编号,它应该包含 PR 中的分支和基础分支的合并。这应该在 PR 打开时或之后不久可用。
测试完后,您可以根据需要创建另一个状态。首先创建进行中状态可能很有用,以防止人们在没有先 运行 两组测试的情况下进行合并。
我们可以使用此命令来更新提交的构建状态:
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 页面上,但它仅与功能分支提交有关,而不是合并提交,这将是两个分支实际合并的结果。
假设 PR 是可合并的,您可以获取引用 refs/pull/NUM/merge
,其中 NUM
是 PR 编号,它应该包含 PR 中的分支和基础分支的合并。这应该在 PR 打开时或之后不久可用。
测试完后,您可以根据需要创建另一个状态。首先创建进行中状态可能很有用,以防止人们在没有先 运行 两组测试的情况下进行合并。