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.

リポジトリ pre-receive フック

Repository Pre-receive Hooks API を使用すると、リポジトリで使用可能な pre-receive フックの適用を表示および変更できます。

オブジェクトの属性

名前種類説明
namestringフックの名前。
enforcementstringこのリポジトリでのフックの適用状態。
configuration_urlstring適用設定されているエンドポイントの URL。

適用可能な値は、enableddisabledtesting です。 disabled は、pre-receive フックが実行されないことを示します。 enabled は、それが実行され、ゼロ以外の状態になるプッシュを拒否することを示します。 testing は、スクリプトは実行されるが、プッシュが拒否されないことを示します。

configuration_url は、このリポジトリ、その Organization のオーナー、またはグローバル設定へのリンクである場合があります。 configuration_url でエンドポイントにアクセスする権限は、所有者またはサイトアドミンレベルで決定されます。

List pre-receive hooks for a repository

Works with GitHub Apps

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.

パラメータ

Headers
名前, 種類, 説明
acceptstring

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

Path parameters
名前, 種類, 説明
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

Can be one of: asc, desc

sortstring

デフォルト: created

Can be one of: created, updated, name

HTTP response status codes

Status code説明
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" } ]

Get a pre-receive hook for a repository

Works with GitHub Apps

パラメータ

Headers
名前, 種類, 説明
acceptstring

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

Path parameters
名前, 種類, 説明
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 response status codes

Status code説明
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" }

Update pre-receive hook enforcement for a repository

Works with GitHub Apps

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

パラメータ

Headers
名前, 種類, 説明
acceptstring

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

Path parameters
名前, 種類, 説明
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.

Body parameters
名前, 種類, 説明
enforcementstring

The state of enforcement for the hook on this repository.

Can be one of: enabled, disabled, testing

HTTP response status codes

Status code説明
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" }

Remove pre-receive hook enforcement for a repository

Works with GitHub Apps

Deletes any overridden enforcement on this repository for the specified hook.

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

パラメータ

Headers
名前, 種類, 説明
acceptstring

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

Path parameters
名前, 種類, 説明
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 response status codes

Status code説明
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" }