适用于存储库预接收挂钩的 REST API 终结点
使用 REST API 查看和修改存储库可用的预接收挂钩的强制执行。
关于存储库预接收挂钩
Note
这些终结点仅支持使用 personal access token (classic) 进行身份验证。 有关详细信息,请参阅“管理个人访问令牌”。
名称 | Type | 说明 |
---|---|---|
name | string | 挂钩的名称。 |
enforcement | string | 此仓库中挂钩的实施状态。 |
configuration_url | string | 设置实施的端点 URL。 |
强制执行的可能值为 enabled
、disabled
和 testing
。 disabled
表示预接收挂钩不会运行。 enabled
表示它将运行并拒绝任何导致非零状态的推送。 testing
表示脚本将运行但不会导致任何推送被拒绝。
configuration_url
可能是此存储库、其组织所有者或全局配置的链接。 configuration_url
终结点的访问授权在所有者或站点管理员级别确定。
List pre-receive hooks for a repository
List all pre-receive hooks that are enabled or testing for this repository as well as any disabled hooks that are allowed to be enabled at the repository level. Pre-receive hooks that are disabled at a higher level and are not configurable will not be listed.
“List pre-receive hooks for a repository”的细粒度访问令牌
此端点支持以下精细令牌类型:
精细令牌必须具有以下权限集:
- "Pre-receive hooks" repository permissions (read)
“List pre-receive hooks for a repository”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
owner string 必须The account owner of the repository. The name is not case sensitive. |
repo string 必须The name of the repository without the |
名称, 类型, 说明 |
---|
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 默认: 可以是以下选项之一: |
“List pre-receive hooks for a repository”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“List pre-receive hooks for a repository”的示例代码
请求示例
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/pre-receive-hooks
Response
Get a pre-receive hook for a repository
“Get a pre-receive hook for a repository”的细粒度访问令牌
此端点支持以下精细令牌类型:
精细令牌必须具有以下权限集:
- "Pre-receive hooks" repository permissions (read)
“Get a pre-receive hook for a repository”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
owner string 必须The account owner of the repository. The name is not case sensitive. |
repo string 必须The name of the repository without the |
pre_receive_hook_id integer 必须The unique identifier of the pre-receive hook. |
“Get a pre-receive hook for a repository”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Get a pre-receive hook for a repository”的示例代码
请求示例
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/pre-receive-hooks/PRE_RECEIVE_HOOK_ID
Response
Update pre-receive hook enforcement for a repository
For pre-receive hooks which are allowed to be configured at the repo level, you can set enforcement
“Update pre-receive hook enforcement for a repository”的细粒度访问令牌
此端点支持以下精细令牌类型:
精细令牌必须具有以下权限集:
- "Pre-receive hooks" repository permissions (write)
“Update pre-receive hook enforcement for a repository”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
owner string 必须The account owner of the repository. The name is not case sensitive. |
repo string 必须The name of the repository without the |
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. 可以是以下选项之一: |
“Update pre-receive hook enforcement for a repository”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | OK |
“Update pre-receive hook enforcement for a repository”的示例代码
请求示例
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/repos/OWNER/REPO/pre-receive-hooks/PRE_RECEIVE_HOOK_ID \
-d '{"enforcement":"enabled"}'
Response
Remove pre-receive hook enforcement for a repository
Deletes any overridden enforcement on this repository for the specified hook.
Responds with effective values inherited from owner and/or global level.
“Remove pre-receive hook enforcement for a repository”的细粒度访问令牌
此端点支持以下精细令牌类型:
精细令牌必须具有以下权限集:
- "Pre-receive hooks" repository permissions (write)
“Remove pre-receive hook enforcement for a repository”的参数
名称, 类型, 说明 |
---|
accept string Setting to |
名称, 类型, 说明 |
---|
owner string 必须The account owner of the repository. The name is not case sensitive. |
repo string 必须The name of the repository without the |
pre_receive_hook_id integer 必须The unique identifier of the pre-receive hook. |
“Remove pre-receive hook enforcement for a repository”的 HTTP 响应状态代码
状态代码 | 说明 |
---|---|
200 | Responds with effective values inherited from owner and/or global level. |
“Remove pre-receive hook enforcement for a repository”的示例代码
请求示例
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/repos/OWNER/REPO/pre-receive-hooks/PRE_RECEIVE_HOOK_ID
Responds with effective values inherited from owner and/or global level.