GitHub API提供了很多功能,但是有没有办法检索提交的构建状态?GitHub UI 提供了我们配置的 CI 系统的信息,但我看不到通过 API 公开的这些信息?
它不直接提供状态,但允许您创建状态
这意味着 CI 可以有一个最终构建步骤,以这种方式将状态发布到 GitHub 存储库。
POST /repos/:owner/:repo/statuses/:sha
Run Code Online (Sandbox Code Playgroud)
例如:
{
"state": "success",
"target_url": "https://example.com/build/status",
"description": "The build succeeded!",
"context": "continuous-integration/jenkins"
}
Run Code Online (Sandbox Code Playgroud)
(对于给定的 SHA1)
例如,请参阅“ Github Commit Status API with Bamboo from Atlassian ”,其中:
${bamboo.buildResultsUrl}是 GitHub 提交 SHA1:<xxx>是一个占位符值,可以替换为值或变量,${var}如下所示。将它们作为脚本添加到您的计划中。
complete.sh:
# specs and cukes results are stored in JUnit format under test-reports
if (grep 'failures="[^0]"' test-reports/* || \
grep 'errors="[^0]"' test-reports/*); then
curl -H "Authorization: token <MY_TOKEN>" --request POST \
--data '{"state": "failure", "description": "Failed!", \
"target_url": "${bamboo.buildResultsUrl}"}' \
https://api.github.com/repos/<USER>/<REPO>/statuses/${bamboo.repository.revision.number} > /dev/null
else
curl -H "Authorization: token <MY_TOKEN>" --request POST \
--data '{"state": "success", "description": "Success!", \
"target_url": "${bamboo.buildResultsUrl}"}' \
https://api.github.com/repos/<USER>/<REPO>/statuses \
/${bamboo.repository.revision.number} > /dev/null
fi
Run Code Online (Sandbox Code Playgroud)
pending.sh:
curl -H "Authorization: token <MY_TOKEN>" --request POST \
--data '{"state": "pending", "description": "Build is running", \
"target_url": "${bamboo.buildResultsUrl}"}' \
https://api.github.com/repos/<USER>/<REPO>/statuses/${bamboo.repository.revision.number} > /dev/null
Run Code Online (Sandbox Code Playgroud)
GET https://api.github.com/repos/:owner/:repo/commits/:ref/statuses
对于 的值:ref,您可以使用 SHA、分支名称或标记名称。
| 归档时间: |
|
| 查看次数: |
3290 次 |
| 最近记录: |