跳到主要内容
REST API 现在已版本化。 更多信息,请参阅“关于 API 版本控制”。

规则套件的 REST API 端点

使用 REST API 管理代码库的规则套件。

列出代码库规则套件

列出代码库级别的规则评估套件。更多信息,请参阅“管理代码库的规则套件”。

“列出代码库规则套件”的细粒度访问令牌

此端点与以下细粒度令牌类型一起使用:

细粒度令牌必须具有以下权限集

  • “管理”代码库权限(写入)

“列出代码库规则套件”的参数

请求头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必填

代码库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码库的名称,不包含.git扩展名。名称不区分大小写。

查询参数
名称,类型,描述
ref 字符串

ref 的名称。不能包含通配符字符。可以选择性地以refs/heads/为前缀以限制为分支,或以refs/tags/为前缀以限制为标签。省略前缀可在所有 ref 中搜索。指定后,只返回为此 ref 触发的规则评估。

time_period 字符串

要按其过滤的时间段。

例如,day将过滤过去 24 小时内发生的规则套件,week将过滤过去 7 天(168 小时)内发生的洞察。

默认值:day

可以是以下之一:hourdayweekmonth

actor_name 字符串

要过滤的 GitHub 用户帐户的用户名。指定后,只返回由此参与者触发的规则评估。

rule_suite_result 字符串

要过滤的规则结果。指定后,只返回具有此结果的套件。

默认值:all

可以是以下之一:passfailbypassall

per_page 整数

每页的结果数(最大 100)。更多信息,请参阅“在 REST API 中使用分页”。

默认值:30

page 整数

要获取的结果的页码。更多信息,请参阅“在 REST API 中使用分页”。

默认值:1

“列出代码库规则套件”的 HTTP 响应状态代码

状态代码描述
200

OK

404

资源未找到

500

内部错误

“列出代码库规则套件”的代码示例

请求示例

get/repos/{owner}/{repo}/rulesets/rule-suites
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/rulesets/rule-suites

响应

状态:200
[ { "id": 21, "actor_id": 12, "actor_name": "octocat", "before_sha": "893f768e172fb1bc9c5d6f3dd48557e45f14e01d", "after_sha": "dedd88641a362b6b4ea872da4847d6131a164d01", "ref": "refs/heads/i-see-everything", "repository_id": 404, "repository_name": "octo-repo", "pushed_at": "2023-07-06T08:43:03Z", "result": "bypass" }, { "id": 25, "actor_id": 11, "actor_name": "not-octocat", "before_sha": "48994e4e01ccc943624c6231f172702b82b233cc", "after_sha": "ecfd5a1025fa271a33ca5608d089476a2df3c9a1", "ref": "refs/heads/i-am-everything", "repository_id": 404, "repository_name": "octo-repo", "pushed_at": "2023-07-07T08:43:03Z", "result": "pass", "evaluation_result": "fail" } ]

获取代码库规则套件

获取代码库中规则评估套件的信息。更多信息,请参阅“管理代码库的规则套件”。

“获取代码库规则套件”的细粒度访问令牌

此端点与以下细粒度令牌类型一起使用:

细粒度令牌必须具有以下权限集

  • “管理”代码库权限(写入)

“获取代码库规则套件”的参数

请求头
名称,类型,描述
accept 字符串

建议设置为application/vnd.github+json

路径参数
名称,类型,描述
owner 字符串 必填

代码库的帐户所有者。名称不区分大小写。

repo 字符串 必填

代码库的名称,不包含.git扩展名。名称不区分大小写。

rule_suite_id 整数 必填

规则套件结果的唯一标识符。要获取此 ID,您可以使用 GET /repos/{owner}/{repo}/rulesets/rule-suites (用于代码库)和 GET /orgs/{org}/rulesets/rule-suites (用于组织)。

“获取代码库规则套件”的 HTTP 响应状态代码

状态代码描述
200

OK

404

资源未找到

500

内部错误

“获取代码库规则套件”的代码示例

请求示例

get/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/rulesets/rule-suites/RULE_SUITE_ID

响应

状态:200
{ "id": 21, "actor_id": 12, "actor_name": "octocat", "before_sha": "893f768e172fb1bc9c5d6f3dd48557e45f14e01d", "after_sha": "dedd88641a362b6b4ea872da4847d6131a164d01", "ref": "refs/heads/i-see-everything", "repository_id": 404, "repository_name": "octo-repo", "pushed_at": "2023-07-06T08:43:03Z", "result": "bypass", "evaluation_result": "fail", "rule_evaluations": [ { "rule_source": { "type": "ruleset", "id": 2, "name": "Author email must be a GitHub email address" }, "enforcement": "active", "result": "pass", "rule_type": "commit_author_email_pattern" }, { "rule_source": { "type": "protected_branch" }, "enforcement": "active", "result": "fail", "rule_type": "pull_request", "details": "Changes must be made through a pull request." }, { "rule_source": { "type": "ruleset", "id": 3, "name": "Evaluate commit message pattern" }, "enforcement": "evaluate", "result": "fail", "rule_type": "commit_message_pattern" } ] }