Skip to main content

Enterprise Server 3.15 目前作为候选发布提供。

REST API 现已经过版本控制。 有关详细信息,请参阅“关于 API 版本控制”。

规则套件的 REST API 终结点

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

List repository rule suites

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

“List repository rule suites”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Administration" repository permissions (write)

“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. Optionally prefix with refs/heads/ to limit to branches or refs/tags/ to limit to tags. Omit the prefix to search across all refs. 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). For more information, see "Using pagination in the REST API."

默认: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

默认: 1

“List repository rule suites”的 HTTP 响应状态代码

状态代码说明
200

OK

404

Resource not found

500

Internal Error

“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" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/rulesets/rule-suites

Response

Status: 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" } ]

Get a repository rule suite

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

“Get a repository rule suite”的细粒度访问令牌

此端点支持以下精细令牌类型:

精细令牌必须具有以下权限集:

  • "Administration" repository permissions (write)

“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.

“Get a repository rule suite”的 HTTP 响应状态代码

状态代码说明
200

OK

404

Resource not found

500

Internal Error

“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" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/rulesets/rule-suites/RULE_SUITE_ID

Response

Status: 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" } ] }