시스템 후크 API

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

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

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

  1. 왼쪽 사이드바에서 관리 영역을 선택합니다.
  2. 시스템 후크(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",
    "name": "Hook name",
    "description": "Hook description",
    "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",
    "name": "Hook name",
    "description": "Hook description",
    "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
name 문자열 아니요 후크 이름 (GitLab 17.1에서 소개됨)
description 문자열 아니요 후크 설명 (GitLab 17.1에서 소개됨)
token 문자열 아니요 받은 페이로드를 유효성 검사하기 위한 비밀 토큰; 응답에는 포함되지 않음
push_events 부울 아니요 활성화되면, 후크는 푸시 이벤트에서 동작함
tag_push_events 부울 아니요 활성화되면, 후크는 새 태그의 푸시에서 동작함
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",
    "name": "Hook name",
    "description": "Hook description",
    "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"