시스템 후크 API
Tier: Free, Premium, Ultimate
Offering: Self-Managed
Offering: Self-Managed
모든 메소드는 관리자 권한이 필요합니다.
시스템 후크의 URL 엔드포인트를 GitLab 사용자 인터페이스에서 구성할 수 있습니다:
- 왼쪽 사이드바에서 관리 영역을 선택합니다.
-
시스템 후크(
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"