Skip to main content
The REST API is now versioned. For more information, see "About API versioning."

规则套件

使用 REST API 管理存储库的规则套件。

注意: 规则套件的 API 终结点目前为公共 beta 版,可能会有变动。

List repository rule suites

Works with GitHub Apps

Lists suites of rule evaluations at the repository level. For more information, see "Managing rulesets for a repository."

Parameters for "List repository rule suites"

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
owner string 必须

The account owner of the repository. The name is not case sensitive.

repo string 必须

The name of the repository without the .git extension. The name is not case sensitive.

查询参数
名称, 类型, 说明
ref string

The name of the ref. Cannot contain wildcard characters. When specified, only rule evaluations triggered for this ref will be returned.

time_period string

The time period to filter by.

For example, day will filter for rule suites that occurred in the past 24 hours, and week will filter for insights that occurred in the past 7 days (168 hours).

默认: day

可以是以下选项之一: hour, day, week, month

actor_name string

The handle for the GitHub user account to filter on. When specified, only rule evaluations triggered by this actor will be returned.

rule_suite_result string

The rule results to filter on. When specified, only suites with this result will be returned.

默认: all

可以是以下选项之一: pass, fail, bypass, all

per_page integer

The number of results per page (max 100).

默认: 30

page integer

Page number of the results to fetch.

默认: 1

HTTP response status codes for "List repository rule suites"

Status codeDescription
200

OK

404

Resource not found

500

Internal Error

Code samples for "List repository rule suites"

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

Response

Status: 200
[ { "id": 21, "actor_id": 12, "username": "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, "username": "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" } ]

Get a repository rule suite

Works with GitHub Apps

Gets information about a suite of rule evaluations from within a repository. For more information, see "Managing rulesets for a repository."

Parameters for "Get a repository rule suite"

标头
名称, 类型, 说明
accept string

Setting to application/vnd.github+json is recommended.

路径参数
名称, 类型, 说明
owner string 必须

The account owner of the repository. The name is not case sensitive.

repo string 必须

The name of the repository without the .git extension. The name is not case sensitive.

rule_suite_id integer 必须

The unique identifier of the rule suite result. To get this ID, you can use GET /repos/{owner}/{repo}/rulesets/rule-suites for repositories and GET /orgs/{org}/rulesets/rule-suites for organizations.

HTTP response status codes for "Get a repository rule suite"

Status codeDescription
200

OK

404

Resource not found

500

Internal Error

Code samples for "Get a repository rule suite"

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

Response

Status: 200
{ "id": 21, "actor_id": 12, "username": "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" } ] }