알림 설정 API
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 API를 사용하여 GitLab의 알림 설정을 관리합니다. 알림 레벨은 NotificationSetting.level 모델 열거형에 정의되어 있습니다. custom 레벨을 사용하면 특정 이메일 이벤트를 제어할 수 있습니다.
이 API를 사용하여 GitLab의 알림 설정을 관리합니다. 자세한 내용은 알림 이메일을 참조하세요.
알림 레벨#
알림 레벨은 NotificationSetting.level 모델 열거형에 정의되어 있습니다.
인식되는 레벨은 다음과 같습니다:
disabled: 모든 알림 끄기participating: 참여한 스레드에 대한 알림 수신watch: 대부분의 활동에 대한 알림 수신global: 글로벌 알림 설정 사용mention: 댓글에서 언급될 때 알림 수신custom: 선택한 이벤트에 대한 알림 수신
custom 레벨을 사용하면 특정 이메일 이벤트를 제어할 수 있습니다. 사용 가능한 이벤트는
NotificationSetting.email_events가 반환합니다.
인식되는 이벤트는 다음과 같습니다:
| 이벤트 | 설명 |
|---|---|
approver |
승인 자격이 있는 머지 리퀘스트가 생성될 때 |
change_reviewer_merge_request |
머지 리퀘스트의 리뷰어가 변경될 때 |
close_issue |
이슈가 종료될 때 |
close_merge_request |
머지 리퀘스트가 종료될 때 |
failed_pipeline |
파이프라인이 실패할 때 |
fixed_pipeline |
이전에 실패한 파이프라인이 수정될 때 |
issue_due |
이슈가 내일 마감될 때 |
merge_merge_request |
머지 리퀘스트가 머지될 때 |
merge_when_pipeline_succeeds |
머지 리퀘스트가 자동 머지로 설정될 때 |
moved_project |
프로젝트가 이동될 때 |
new_epic |
새 에픽이 생성될 때 (Premium 및 Ultimate 티어에서) |
new_issue |
새 이슈가 생성될 때 |
new_merge_request |
새 머지 리퀘스트가 생성될 때 |
new_note |
누군가 댓글을 추가할 때 |
new_release |
새 릴리스가 게시될 때 |
push_to_merge_request |
누군가 머지 리퀘스트에 푸시할 때 |
reassign_issue |
이슈가 재할당될 때 |
reassign_merge_request |
머지 리퀘스트가 재할당될 때 |
reopen_issue |
이슈가 다시 열릴 때 |
reopen_merge_request |
머지 리퀘스트가 다시 열릴 때 |
success_pipeline |
파이프라인이 성공적으로 완료될 때 |
글로벌 알림 설정 조회#
글로벌 알림 레벨과 이메일 주소를 조회합니다.
GET /notification_settings
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/notification_settings"
성공하면 200 OK와 다음 응답 속성을 반환합니다:
| 속성 | 타입 | 설명 |
|---|---|---|
level |
string | 글로벌 알림 레벨 |
notification_email |
string | 알림이 전송되는 이메일 주소 |
응답 예시:
{
"level": "participating",
"notification_email": "admin@example.com"
}
글로벌 알림 설정 업데이트#
알림 설정과 이메일 주소를 업데이트합니다.
PUT /notification_settings
요청 예시:
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/notification_settings?level=watch"
지원되는 속성:
| 속성 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
approver |
boolean | No | 승인 자격이 있는 머지 리퀘스트가 생성될 때 알림 켜기 |
change_reviewer_merge_request |
boolean | No | 머지 리퀘스트의 리뷰어가 변경될 때 알림 켜기 |
close_issue |
boolean | No | 이슈가 종료될 때 알림 켜기 |
close_merge_request |
boolean | No | 머지 리퀘스트가 종료될 때 알림 켜기 |
failed_pipeline |
boolean | No | 파이프라인이 실패할 때 알림 켜기 |
fixed_pipeline |
boolean | No | 이전에 실패한 파이프라인이 수정될 때 알림 켜기 |
issue_due |
boolean | No | 이슈가 내일 마감될 때 알림 켜기 |
level |
string | No | 글로벌 알림 레벨 |
merge_merge_request |
boolean | No | 머지 리퀘스트가 머지될 때 알림 켜기 |
merge_when_pipeline_succeeds |
boolean | No | 머지 리퀘스트가 자동 머지로 설정될 때 알림 켜기 |
moved_project |
boolean | No | 프로젝트가 이동될 때 알림 켜기 |
new_epic |
boolean | No | 새 에픽이 생성될 때 알림 켜기 (Premium 및 Ultimate 티어에서) |
new_issue |
boolean | No | 새 이슈가 생성될 때 알림 켜기 |
new_merge_request |
boolean | No | 새 머지 리퀘스트가 생성될 때 알림 켜기 |
new_note |
boolean | No | 새 댓글이 추가될 때 알림 켜기 |
new_release |
boolean | No | 새 릴리스가 게시될 때 알림 켜기 |
notification_email |
string | No | 알림이 전송되는 이메일 주소 |
push_to_merge_request |
boolean | No | 누군가 머지 리퀘스트에 푸시할 때 알림 켜기 |
reassign_issue |
boolean | No | 이슈가 재할당될 때 알림 켜기 |
reassign_merge_request |
boolean | No | 머지 리퀘스트가 재할당될 때 알림 켜기 |
reopen_issue |
boolean | No | 이슈가 다시 열릴 때 알림 켜기 |
reopen_merge_request |
boolean | No | 머지 리퀘스트가 다시 열릴 때 알림 켜기 |
success_pipeline |
boolean | No | 파이프라인이 성공적으로 완료될 때 알림 켜기 |
성공하면 200 OK와 다음 응답 속성을 반환합니다:
| 속성 | 타입 | 설명 |
|---|---|---|
level |
string | 글로벌 알림 레벨 |
notification_email |
string | 알림이 전송되는 이메일 주소 |
응답 예시:
{
"level": "watch",
"notification_email": "admin@example.com"
}
알림 설정 조회#
지정된 그룹 또는 프로젝트의 알림 레벨을 조회합니다.
GET /groups/:id/notification_settings
GET /projects/:id/notification_settings
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/notification_settings"
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/8/notification_settings"
지원되는 속성:
| 속성 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | Yes | 그룹 또는 프로젝트의 ID 또는 URL 인코딩된 경로 |
성공하면 200 OK와 다음 응답 속성을 반환합니다:
| 속성 | 타입 | 설명 |
|---|---|---|
level |
string | 알림 레벨 |
표준 알림 레벨의 응답 예시:
{
"level": "global"
}
커스텀 알림 레벨을 가진 그룹의 응답 예시:
{
"level": "custom",
"events": {
"new_release": null,
"new_note": null,
"new_issue": null,
"reopen_issue": null,
"close_issue": null,
"reassign_issue": null,
"issue_due": null,
"new_merge_request": null,
"push_to_merge_request": null,
"reopen_merge_request": null,
"close_merge_request": null,
"reassign_merge_request": null,
"change_reviewer_merge_request": null,
"merge_merge_request": null,
"failed_pipeline": null,
"fixed_pipeline": null,
"success_pipeline": null,
"moved_project": true,
"merge_when_pipeline_succeeds": false,
"new_epic": null
}
}
이 응답에서:
true는 알림이 켜져 있음을 나타냅니다.false는 알림이 꺼져 있음을 나타냅니다.null은 알림이 기본 설정을 사용함을 나타냅니다.
new_epic 속성은 Premium 및 Ultimate 티어에서만 사용 가능합니다.
그룹 또는 프로젝트 알림 설정 업데이트#
그룹 또는 프로젝트의 알림 설정을 업데이트합니다.
PUT /groups/:id/notification_settings
PUT /projects/:id/notification_settings
요청 예시:
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/notification_settings?level=watch"
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/8/notification_settings?level=custom&new_note=true"
지원되는 속성:
| 속성 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
approver |
boolean | No | 승인 자격이 있는 머지 리퀘스트가 생성될 때 알림 켜기 |
change_reviewer_merge_request |
boolean | No | 머지 리퀘스트의 리뷰어가 변경될 때 알림 켜기 |
close_issue |
boolean | No | 이슈가 종료될 때 알림 켜기 |
close_merge_request |
boolean | No | 머지 리퀘스트가 종료될 때 알림 켜기 |
failed_pipeline |
boolean | No | 파이프라인이 실패할 때 알림 켜기 |
fixed_pipeline |
boolean | No | 이전에 실패한 파이프라인이 수정될 때 알림 켜기 |
id |
integer or string | Yes | 그룹 또는 프로젝트의 ID 또는 URL 인코딩된 경로 |
issue_due |
boolean | No | 이슈가 내일 마감될 때 알림 켜기 |
level |
string | No | 이 그룹 또는 프로젝트의 알림 레벨 |
merge_merge_request |
boolean | No | 머지 리퀘스트가 머지될 때 알림 켜기 |
merge_when_pipeline_succeeds |
boolean | No | 머지 리퀘스트가 파이프라인 성공 시 머지되도록 설정될 때 알림 켜기 |
moved_project |
boolean | No | 프로젝트가 이동될 때 알림 켜기 |
new_epic |
boolean | No | 새 에픽이 생성될 때 알림 켜기 (Premium 및 Ultimate 티어에서) |
new_issue |
boolean | No | 새 이슈가 생성될 때 알림 켜기 |
new_merge_request |
boolean | No | 새 머지 리퀘스트가 생성될 때 알림 켜기 |
new_note |
boolean | No | 새 댓글이 추가될 때 알림 켜기 |
new_release |
boolean | No | 새 릴리스가 게시될 때 알림 켜기 |
push_to_merge_request |
boolean | No | 누군가 머지 리퀘스트에 푸시할 때 알림 켜기 |
reassign_issue |
boolean | No | 이슈가 재할당될 때 알림 켜기 |
reassign_merge_request |
boolean | No | 머지 리퀘스트가 재할당될 때 알림 켜기 |
reopen_issue |
boolean | No | 이슈가 다시 열릴 때 알림 켜기 |
reopen_merge_request |
boolean | No | 머지 리퀘스트가 다시 열릴 때 알림 켜기 |
success_pipeline |
boolean | No | 파이프라인이 성공적으로 완료될 때 알림 켜기 |
성공하면 200 OK와 다음 응답 형식 중 하나를 반환합니다.
비커스텀 알림 레벨의 경우:
{
"level": "watch"
}
커스텀 알림 레벨의 경우 응답에는 각 알림 상태를 보여주는 events 객체가 포함됩니다:
{
"level": "custom",
"events": {
"new_release": null,
"new_note": true,
"new_issue": false,
"reopen_issue": null,
"close_issue": null,
"reassign_issue": null,
"issue_due": null,
"new_merge_request": null,
"push_to_merge_request": null,
"reopen_merge_request": null,
"close_merge_request": null,
"reassign_merge_request": null,
"change_reviewer_merge_request": null,
"merge_merge_request": null,
"failed_pipeline": false,
"fixed_pipeline": null,
"success_pipeline": null,
"moved_project": false,
"merge_when_pipeline_succeeds": false,
"new_epic": null
}
}
이 응답에서:
true는 알림이 켜져 있음을 나타냅니다.false는 알림이 꺼져 있음을 나타냅니다.null은 알림이 기본 설정을 사용함을 나타냅니다.
new_epic 속성은 Premium 및 Ultimate 티어에서만 사용 가능합니다.
