시스템 후크 API

Tier: Free, Premium, Ultimate Offering: Self-Managed

모든 메소드는 관리자 권한이 필요합니다.

시스템 후크의 URL 엔드포인트는 GitLab 사용자 인터페이스에서 구성할 수 있습니다:

  1. 왼쪽 사이드바에서 맨 아래에서 관리 영역(Admin Area)을 선택합니다.
  2. 시스템 후크(System Hooks) (/admin/hooks)을 선택합니다.

시스템 후크(system 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
  }
]

시스템 후크 가져오기

시스템 후크의 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 부울 아니오 true일 때 후크는 push 이벤트를 발생시킵니다
tag_push_events 부울 아니오 true일 때 후크는 새 태그가 푸시될 때 발생합니다
merge_requests_events 부울 아니오 머지 리퀘스트 이벤트에 후크를 트리거합니다
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"