如何从 GitHub 拉取请求获取所需状态检查的状态,包括第三方(例如 Jenkins)尚未报告的检查

问题描述 投票:0回答:1

如何从 GitHub 拉取请求中获取所需状态检查的状态,包括第三方(例如 Jenkins)尚未报告的检查?

我尝试使用此 API 来获取检查列表,但它只会显示来自 GitHub Actions 的检查列表:

gh api \
  -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  /repos/OWNER/REPO/commits/REF/check-runs

所以我尝试使用 gh cli 中的这个 API:

gh pr checks "$pr_number" --repo="$OWNER/$repo" --required

这更好,因为它显示了所有状态检查,包括外部工具(例如 Jenkins)报告的状态检查,但它不显示尚未报告的状态检查(即使需要)。

关于该做什么还有其他想法吗?

github github-api
1个回答
0
投票

我现在的解决方案(虽然并不理想)如下:

使用以下命令从 GitHub 上要合并的分支的分支保护规则中获取所需的状态检查列表:

gh api repos/$OWNER/$REPO/branches/$BRANCH_NAME/protection/required_status_checks/contexts

然后将获得的检查列表交叉引用到从 gh cli 命令获得的检查列表:

gh pr checks "$pr_number" --repo="$OWNER/$REPO" --required

如果从分支保护规则获取的列表中有更多检查,您可以知道还有更多未报告的待处理状态检查。

© www.soinside.com 2019 - 2024. All rights reserved.