Skip to main content

We've recently moved some of the REST API documentation. If you can't find what you're looking for, you might try the Actions REST API page.

存储库预接收挂钩

存储库预接收挂钩 API 允许您查看和修改可用于存储库的预接收挂钩的实施。

对象属性

名称类型描述
name字符串挂钩的名称。
enforcement字符串此仓库中挂钩的实施状态。
configuration_url字符串设置实施的端点 URL。

enforcement 的可能值包括 enableddisabledtestingdisabled 表示预接收挂钩不会运行。 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.

参数

标头
名称, 类型, 描述
acceptstring

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

查看预览通知
路径参数
名称, 类型, 描述
ownerstring必选

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

repostring必选

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

查询参数
名称, 类型, 描述
per_pageinteger

The number of results per page (max 100).

默认值: 30

pageinteger

Page number of the results to fetch.

默认值: 1

directionstring

The direction to sort the results by.

默认值: desc

可以是以下其中之一: asc, desc

sortstring

默认值: created

可以是以下其中之一: created, updated, name

HTTP 响应状态代码

状态代码描述
200

OK

代码示例

get/repos/{owner}/{repo}/pre-receive-hooks
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/pre-receive-hooks

Response

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

预览通知

APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.

To access the API you must provide a custom media type in the Accept header:

application/vnd.github.eye-scream-preview

Get a pre-receive hook for a repository

参数

标头
名称, 类型, 描述
acceptstring

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

查看预览通知
路径参数
名称, 类型, 描述
ownerstring必选

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

repostring必选

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

pre_receive_hook_idinteger必选

The unique identifier of the pre-receive hook.

HTTP 响应状态代码

状态代码描述
200

OK

代码示例

get/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/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/orgs/octocat/pre-receive-hooks/42" }

预览通知

APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.

To access the API you must provide a custom media type in the Accept header:

application/vnd.github.eye-scream-preview

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

参数

标头
名称, 类型, 描述
acceptstring

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

查看预览通知
路径参数
名称, 类型, 描述
ownerstring必选

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

repostring必选

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

pre_receive_hook_idinteger必选

The unique identifier of the pre-receive hook.

正文参数
名称, 类型, 描述
enforcementstring

The state of enforcement for the hook on this repository.

可以是以下其中之一: enabled, disabled, testing

HTTP 响应状态代码

状态代码描述
200

OK

代码示例

patch/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
curl \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/pre-receive-hooks/PRE_RECEIVE_HOOK_ID \ -d '{"enforcement":"enabled"}'

Response

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

预览通知

APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.

To access the API you must provide a custom media type in the Accept header:

application/vnd.github.eye-scream-preview

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.

参数

标头
名称, 类型, 描述
acceptstring

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

查看预览通知
路径参数
名称, 类型, 描述
ownerstring必选

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

repostring必选

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

pre_receive_hook_idinteger必选

The unique identifier of the pre-receive hook.

HTTP 响应状态代码

状态代码描述
200

Responds with effective values inherited from owner and/or global level.

代码示例

delete/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
curl \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: token <TOKEN>" \ 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.

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

预览通知

APIs for managing pre-receive hooks are currently available for developers to preview. During the preview period, the APIs may change without advance notice.

To access the API you must provide a custom media type in the Accept header:

application/vnd.github.eye-scream-preview