Skip to main content
이제 REST API의 버전이 지정되었습니다. 자세한 내용은 "API 버전 관리 정보"를 참조하세요.

리포지토리 사전 수신 후크에 대한 REST API 엔드포인트

REST API를 사용하면 리포지토리에서 사용할 수 있는 사전 수신 후크의 적용을 보고 수정할 수 있습니다.

리포지토리 사전 수신 후크 정보

이러한 엔드포인트는 personal access token (classic)을(를) 사용하는 인증만 지원합니다. 자세한 내용은 "개인용 액세스 토큰 관리"을 참조하세요.

이름형식설명
namestring후크의 이름입니다.
enforcementstring이 리포지토리의 후크 적용 상태입니다.
configuration_urlstring적용이 설정된 엔드포인트의 URL입니다.

적용 가능한 값은 enabled, disabled, testing입니다. disabled는 사전 수신 후크가 실행되지 않음을 나타냅니다. enabled는 0이 아닌 상태가 되는 모든 푸시를 실행하고 거부함을 나타냅니다. 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"에 대한 세분화된 액세스 토큰

이 엔드포인트는 다음 토큰 형식에서 작동합니다.:

토큰에 다음 권한 집합이 있어야 합니다.:

  • repository_pre_receive_hooks:read

"List pre-receive hooks for a repository"에 대한 매개 변수

헤더
이름, Type, 설명
accept string

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

경로 매개 변수
이름, Type, 설명
owner string Required

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

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

쿼리 매개 변수
이름, Type, 설명
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

기본값: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

기본값: 1

direction string

The direction to sort the results by.

기본값: desc

다음 중 하나일 수 있습니다.: asc, desc

sort string

기본값: created

다음 중 하나일 수 있습니다.: created, updated, name

"List pre-receive hooks for a repository"에 대한 HTTP 응답 상태 코드

상태 코드설명
200

OK

"List pre-receive hooks for a repository"에 대한 코드 샘플

요청 예제

get/repos/{owner}/{repo}/pre-receive-hooks
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

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

"Get a pre-receive hook for a repository"에 대한 세분화된 액세스 토큰

이 엔드포인트는 다음 토큰 형식에서 작동합니다.:

토큰에 다음 권한 집합이 있어야 합니다.:

  • repository_pre_receive_hooks:read

"Get a pre-receive hook for a repository"에 대한 매개 변수

헤더
이름, Type, 설명
accept string

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

경로 매개 변수
이름, Type, 설명
owner string Required

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

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

pre_receive_hook_id integer Required

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"에 대한 코드 샘플

요청 예제

get/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
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

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

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"에 대한 매개 변수

헤더
이름, Type, 설명
accept string

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

경로 매개 변수
이름, Type, 설명
owner string Required

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

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

pre_receive_hook_id integer Required

The unique identifier of the pre-receive hook.

본문 매개 변수
이름, Type, 설명
enforcement string

The state of enforcement for the hook on this repository.

다음 중 하나일 수 있습니다.: enabled, disabled, testing

"Update pre-receive hook enforcement for a repository"에 대한 HTTP 응답 상태 코드

상태 코드설명
200

OK

"Update pre-receive hook enforcement for a repository"에 대한 코드 샘플

요청 예제

patch/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
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

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

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"에 대한 세분화된 액세스 토큰

이 엔드포인트는 다음 토큰 형식에서 작동합니다.:

토큰에 다음 권한 집합이 있어야 합니다.:

  • repository_pre_receive_hooks:write

"Remove pre-receive hook enforcement for a repository"에 대한 매개 변수

헤더
이름, Type, 설명
accept string

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

경로 매개 변수
이름, Type, 설명
owner string Required

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

repo string Required

The name of the repository without the .git extension. The name is not case sensitive.

pre_receive_hook_id integer Required

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"에 대한 코드 샘플

요청 예제

delete/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
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.

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