此版本的 GitHub Enterprise Server 将于以下日期停止服务 2026-03-17. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持。
适用于组织预接收挂钩的 REST API 终结点
使用 REST API 查看和修改组织可用的预接收挂钩的强制执行。
关于组织预接收挂钩
注意
这些终结点仅支持使用 personal access token (classic) 进行身份验证。 有关详细信息,请参阅“管理个人访问令牌”。
对象属性
| 名称 | 类型 | 说明 | 
|---|---|---|
name | string | 挂钩的名称。 | 
enforcement | string | 此仓库中挂钩的实施状态。 | 
allow_downstream_configuration | boolean | 仓库是否可以覆盖实施。 | 
configuration_url | string | 设置实施的端点 URL。 | 
enforcement 的可能值为 enabled、disabled 和 testing。 disabled 表示预接收挂钩不会运行。 enabled 表示它将运行并拒绝任何导致非零状态的推送。 testing 表示脚本将运行但不会导致任何推送被拒绝。
configuration_url 可能是指向此终结点或此挂钩的全局配置的链接。 只有站点管理员才能访问全局配置。
List pre-receive hooks for an organization
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”的细粒度访问令牌
此端点支持以下精细令牌类型:
精细令牌必须具有以下权限集:
- "Organization pre-receive hooks" organization permissions (read)
 
“List pre-receive hooks for an organization”的参数
| 名称, 类型, 说明 | 
|---|
accept string Setting to   | 
| 名称, 类型, 说明 | 
|---|
org string 必须The organization name. The name is not case sensitive.  | 
| 名称, 类型, 说明 | 
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." 默认:   | 
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." 默认:   | 
direction string The direction to sort the results by. 默认:  可以是以下选项之一:   | 
sort string The sort order for the response collection. 默认:  可以是以下选项之一:   | 
“List pre-receive hooks for an organization”的 HTTP 响应状态代码
| 状态代码 | 说明 | 
|---|---|
200 | OK  | 
“List pre-receive hooks for an organization”的示例代码
请求示例
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/orgs/ORG/pre-receive-hooksResponse
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
“Get a pre-receive hook for an organization”的细粒度访问令牌
此端点支持以下精细令牌类型:
精细令牌必须具有以下权限集:
- "Organization pre-receive hooks" organization permissions (read)
 
“Get a pre-receive hook for an organization”的参数
| 名称, 类型, 说明 | 
|---|
accept string Setting to   | 
| 名称, 类型, 说明 | 
|---|
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”的示例代码
请求示例
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/orgs/ORG/pre-receive-hooks/PRE_RECEIVE_HOOK_IDResponse
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
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”的细粒度访问令牌
此端点支持以下精细令牌类型:
精细令牌必须具有以下权限集:
- "Organization pre-receive hooks" organization permissions (write)
 
“Update pre-receive hook enforcement for an organization”的参数
| 名称, 类型, 说明 | 
|---|
accept string Setting to   | 
| 名称, 类型, 说明 | 
|---|
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”的示例代码
请求示例
curl -L \
  -X PATCH \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  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
Removes any overrides for this hook at the org level for this org.
“Remove pre-receive hook enforcement for an organization”的细粒度访问令牌
此端点支持以下精细令牌类型:
精细令牌必须具有以下权限集:
- "Organization pre-receive hooks" organization permissions (write)
 
“Remove pre-receive hook enforcement for an organization”的参数
| 名称, 类型, 说明 | 
|---|
accept string Setting to   | 
| 名称, 类型, 说明 | 
|---|
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”的示例代码
请求示例
curl -L \
  -X DELETE \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  http(s)://HOSTNAME/api/v3/orgs/ORG/pre-receive-hooks/PRE_RECEIVE_HOOK_IDResponse
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
}