시스템 훅 API
Tier: Free, Premium, Ultimate
Offering: Self-managed
모든 메서드는 관리자 권한이 필요합니다.
GitLab 사용자 인터페이스에서 시스템 훅의 URL 엔드포인트를 구성할 수 있습니다:
- 왼쪽 사이드바에서 아래쪽에 있는 관리 영역을 선택합니다.
 - 
시스템 훅 (
/admin/hooks)을 선택합니다. 
시스템 훅에 대해 더 알아보세요.
시스템 훅 디렉터리
모든 시스템 훅의 디렉터리을 가져옵니다.
GET /hooks
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/hooks"
예시 응답:
[
  {
    "id":1,
    "url":"https://gitlab.example.com/hook",
    "created_at":"2016-10-31T12:32:15.192Z",
    "push_events":true,
    "tag_push_events":false,
    "merge_requests_events": true,
    "repository_update_events": true,
    "enable_ssl_verification":true
  }
]
시스템 훅 가져오기
- GitLab 14.9에서 소개됨.
 
ID에 따라 시스템 훅을 가져옵니다.
GET /hooks/:id
| 속성 | 유형 | 필수 | 설명 | 
|---|---|---|---|
id
 | 정수 | 예 | 훅의 ID | 
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/hooks/1"
예시 응답:
[
  {
    "id": 1,
    "url": "https://gitlab.example.com/hook",
    "created_at": "2016-10-31T12:32:15.192Z",
    "push_events": true,
    "tag_push_events": false,
    "merge_requests_events": true,
    "repository_update_events": true,
    "enable_ssl_verification": true
  }
]
새로운 시스템 훅 추가
새로운 시스템 훅을 추가합니다.
POST /hooks
| 속성 | 유형 | 필수 | 설명 | 
|---|---|---|---|
url
 | 문자열 | 예 | 훅 URL | 
token
 | 문자열 | 아니오 | 받은 페이로드를 유효성 검사하기 위한 비밀 토큰; 응답에는 반환되지 않음 | 
push_events
 | 부울 | 아니오 | 참일 경우 푸시 이벤트에서 훅이 발동됨 | 
tag_push_events
 | 부울 | 아니오 | 참일 경우 새로운 태그를 푸시할 때 훅이 발동됨 | 
merge_requests_events
 | 부울 | 아니오 | Merge Request 이벤트에서 훅을 트리거함 | 
repository_update_events
 | 부울 | 아니오 | 리포지터리 업데이트 이벤트에서 훅을 트리거함 | 
enable_ssl_verification
 | 부울 | 아니오 | 훅을 트리거할 때 SSL 검증을 수행함 | 
예시 요청:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/hooks?url=https://gitlab.example.com/hook"
예시 응답:
[
  {
    "id":1,
    "url":"https://gitlab.example.com/hook",
    "created_at":"2016-10-31T12:32:15.192Z",
    "push_events":true,
    "tag_push_events":false,
    "merge_requests_events": true,
    "repository_update_events": true,
    "enable_ssl_verification":true
  }
]
시스템 훅 테스트
모의 데이터로 시스템 훅을 실행합니다.
POST /hooks/:id
| 속성 | 유형 | 필수 | 설명 | 
|---|---|---|---|
id
 | 정수 | 예 | 훅의 ID | 
예시 요청:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/hooks/1"
응답은 항상 모의 데이터입니다:
{
   "project_id" : 1,
   "owner_email" : "example@gitlabhq.com",
   "owner_name" : "Someone",
   "name" : "Ruby",
   "path" : "ruby",
   "event_name" : "project_create"
}
시스템 훅 삭제
시스템 훅을 삭제합니다.
DELETE /hooks/:id
| 속성 | 유형 | 필수 | 설명 | 
|---|---|---|---|
id
 | 정수 | 예 | 훅의 ID | 
예시 요청:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/hooks/2"
도움말