通知设置 API
- Tier: 基础版, 专业版, 旗舰版
- Offering: JihuLab.com, 私有化部署
使用此 API 管理极狐GitLab 通知设置。更多信息,请参见 通知邮件。
有效的通知级别
通知级别在 NotificationSetting.level 模型枚举中定义。目前,识别的级别有:
- disabled
- participating
- watch
- global
- mention
- custom
如果使用 custom 级别,可以控制特定的邮件事件。可用的事件由 NotificationSetting.email_events 返回。目前,识别的事件有:
- new_note
- new_issue
- reopen_issue
- close_issue
- reassign_issue
- issue_due
- new_merge_request
- push_to_merge_request
- reopen_merge_request
- close_merge_request
- reassign_merge_request
- merge_merge_request
- failed_pipeline
- fixed_pipeline
- success_pipeline
- moved_project
- merge_when_pipeline_succeeds
- new_epic 仅限旗舰版。
全局通知设置
获取当前通知设置和电子邮件地址。
plaintextGET /notification_settings
shellcurl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/notification_settings"
示例响应:
json{ "level": "participating", "notification_email": "admin@example.com" }
更新全局通知设置
更新当前通知设置和电子邮件地址。
plaintextPUT /notification_settings
shellcurl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/notification_settings?level=watch"
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| level | string | no | 全局通知级别 |
| notification_email | string | no | 用于发送通知的电子邮件地址 |
| new_note | boolean | no | 启用/禁用此通知 |
| new_issue | boolean | no | 启用/禁用此通知 |
| reopen_issue | boolean | no | 启用/禁用此通知 |
| close_issue | boolean | no | 启用/禁用此通知 |
| reassign_issue | boolean | no | 启用/禁用此通知 |
| issue_due | boolean | no | 启用/禁用此通知 |
| new_merge_request | boolean | no | 启用/禁用此通知 |
| push_to_merge_request | boolean | no | 启用/禁用此通知 |
| reopen_merge_request | boolean | no | 启用/禁用此通知 |
| close_merge_request | boolean | no | 启用/禁用此通知 |
| reassign_merge_request | boolean | no | 启用/禁用此通知 |
| merge_merge_request | boolean | no | 启用/禁用此通知 |
| failed_pipeline | boolean | no | 启用/禁用此通知 |
| fixed_pipeline | boolean | no | 启用/禁用此通知 |
| success_pipeline | boolean | no | 启用/禁用此通知 |
| moved_project | boolean | no | 启用/禁用此通知 |
| merge_when_pipeline_succeeds | boolean | no | 启用/禁用此通知 |
| new_epic | boolean | no | 启用/禁用此通知,仅限旗舰版。 |
示例响应:
json{ "level": "watch", "notification_email": "admin@example.com" }
群组/项目级别通知设置
获取当前群组或项目的通知设置。
plaintextGET /groups/:id/notification_settings GET /projects/:id/notification_settings
shellcurl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/notification_settings" curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/8/notification_settings"
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer 或 string | yes | 群组或项目的 ID 或 URL 编码路径。 |
示例响应:
json{ "level": "global" }
更新群组/项目级别通知设置
更新当前群组/项目的通知设置。
plaintextPUT /groups/:id/notification_settings PUT /projects/:id/notification_settings
shellcurl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/notification_settings?level=watch" curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/8/notification_settings?level=custom&new_note=true"
| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
| id | integer 或 string | yes | 群组或项目的 ID 或 URL 编码路径 |
| level | string | no | 全局通知级别 |
| new_note | boolean | no | 启用/禁用此通知 |
| new_issue | boolean | no | 启用/禁用此通知 |
| reopen_issue | boolean | no | 启用/禁用此通知 |
| close_issue | boolean | no | 启用/禁用此通知 |
| reassign_issue | boolean | no | 启用/禁用此通知 |
| issue_due | boolean | no | 启用/禁用此通知 |
| new_merge_request | boolean | no | 启用/禁用此通知 |
| push_to_merge_request | boolean | no | 启用/禁用此通知 |
| reopen_merge_request | boolean | no | 启用/禁用此通知 |
| close_merge_request | boolean | no | 启用/禁用此通知 |
| reassign_merge_request | boolean | no | 启用/禁用此通知 |
| merge_merge_request | boolean | no | 启用/禁用此通知 |
| failed_pipeline | boolean | no | 启用/禁用此通知 |
| fixed_pipeline | boolean | no | 启用/禁用此通知 |
| success_pipeline | boolean | no | 启用/禁用此通知 |
| moved_project | boolean | no | 启用/禁用此通知 |
| merge_when_pipeline_succeeds | boolean | no | 启用/禁用此通知 |
| new_epic | boolean | no | 启用/禁用此通知,仅限旗舰版。 |
示例响应:
json{ "level": "watch" }
json1{ 2 "level": "custom", 3 "events": { 4 "new_note": true, 5 "new_issue": false, 6 "reopen_issue": false, 7 "close_issue": false, 8 "reassign_issue": false, 9 "issue_due": false, 10 "new_merge_request": false, 11 "push_to_merge_request": false, 12 "reopen_merge_request": false, 13 "close_merge_request": false, 14 "reassign_merge_request": false, 15 "merge_merge_request": false, 16 "failed_pipeline": false, 17 "fixed_pipeline": false, 18 "success_pipeline": false 19 } 20}
使用 极狐GitLab旗舰版 的用户还可以看到全局和群组级通知设置的 new_epic 参数:
json1{ 2 "level": "custom", 3 "events": { 4 "new_note": true, 5 "new_issue": false, 6 "new_epic": false, 7 ... 8 } 9}