Skip to main content
我们经常发布文档更新,此页面的翻译可能仍在进行中。 有关最新信息,请访问英语文档

此版本的 GitHub Enterprise 已停止服务 2023-03-15. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

我们最近移动了一些 REST API 文档。 如果找不到要查找的内容,可以尝试 操作 REST API 页面。

组织预接收挂钩

使用 REST API 查看和修改组织可用的预接收挂钩的强制执行。

关于组织预接收挂钩

对象属性

名称类型说明
namestring挂钩的名称。
enforcementstring此仓库中挂钩的实施状态。
allow_downstream_configurationboolean仓库是否可以覆盖实施。
configuration_urlstring设置实施的端点 URL。

enforcement 的可能值为 enableddisabledtestingdisabled 表示预接收挂钩不会运行。 enabled 表示它将运行并拒绝任何导致非零状态的推送。 testing 表示脚本将运行但不会导致任何推送被拒绝。

configuration_url 可能是指向此终结点或此挂钩的全局配置的链接。 只有站点管理员才能访问全局配置。

List pre-receive hooks for an organization

适用于 GitHub Apps

List all pre-receive hooks that are enabled or testing for this organization as well as any disabled hooks that can be configured at the organization level. Globally disabled pre-receive hooks that do not allow downstream configuration are not listed.

“List pre-receive hooks for an organization”的参数

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

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

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

The organization name. The name is not case sensitive.

查询参数
名称, 类型, 说明
per_page integer

The number of results per page (max 100).

默认: 30

page integer

Page number of the results to fetch.

默认: 1

direction string

The direction to sort the results by.

默认: desc

可以是以下选项之一: asc, desc

sort string

The sort order for the response collection.

默认: created

可以是以下选项之一: created, updated, name

“List pre-receive hooks for an organization”的 HTTP 响应状态代码

状态代码说明
200

OK

“List pre-receive hooks for an organization”的示例代码

get/orgs/{org}/pre-receive-hooks
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/orgs/ORG/pre-receive-hooks

Response

Status: 200
[ { "id": 42, "name": "Check Commits", "enforcement": "disabled", "configuration_url": "https://github.example.com/api/v3/admin/pre-receive-hooks/42", "allow_downstream_configuration": true } ]

Get a pre-receive hook for an organization

适用于 GitHub Apps

“Get a pre-receive hook for an organization”的参数

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

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

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

The organization name. The name is not case sensitive.

pre_receive_hook_id integer 必须

The unique identifier of the pre-receive hook.

“Get a pre-receive hook for an organization”的 HTTP 响应状态代码

状态代码说明
200

OK

“Get a pre-receive hook for an organization”的示例代码

get/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/orgs/ORG/pre-receive-hooks/PRE_RECEIVE_HOOK_ID

Response

Status: 200
{ "id": 42, "name": "Check Commits", "enforcement": "disabled", "configuration_url": "https://github.example.com/api/v3/admin/pre-receive-hooks/42", "allow_downstream_configuration": true }

Update pre-receive hook enforcement for an organization

适用于 GitHub Apps

For pre-receive hooks which are allowed to be configured at the org level, you can set enforcement and allow_downstream_configuration

“Update pre-receive hook enforcement for an organization”的参数

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

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

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

The organization name. The name is not case sensitive.

pre_receive_hook_id integer 必须

The unique identifier of the pre-receive hook.

正文参数
名称, 类型, 说明
enforcement string

The state of enforcement for the hook on this repository.

allow_downstream_configuration boolean

Whether repositories can override enforcement.

“Update pre-receive hook enforcement for an organization”的 HTTP 响应状态代码

状态代码说明
200

OK

“Update pre-receive hook enforcement for an organization”的示例代码

patch/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}
curl -L \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/orgs/ORG/pre-receive-hooks/PRE_RECEIVE_HOOK_ID \ -d '{"enforcement":"enabled","allow_downstream_configuration":false}'

Response

Status: 200
{ "id": 42, "name": "Check Commits", "enforcement": "enabled", "configuration_url": "https://github.example.com/api/v3/orgs/octocat/pre-receive-hooks/42", "allow_downstream_configuration": false }

Remove pre-receive hook enforcement for an organization

适用于 GitHub Apps

Removes any overrides for this hook at the org level for this org.

“Remove pre-receive hook enforcement for an organization”的参数

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

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

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

The organization name. The name is not case sensitive.

pre_receive_hook_id integer 必须

The unique identifier of the pre-receive hook.

“Remove pre-receive hook enforcement for an organization”的 HTTP 响应状态代码

状态代码说明
200

OK

“Remove pre-receive hook enforcement for an organization”的示例代码

delete/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ http(s)://HOSTNAME/api/v3/orgs/ORG/pre-receive-hooks/PRE_RECEIVE_HOOK_ID

Response

Status: 200
{ "id": 42, "name": "Check Commits", "enforcement": "disabled", "configuration_url": "https://github.example.com/api/v3/admin/pre-receive-hooks/42", "allow_downstream_configuration": true }