多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Notification settings API > 原文:[https://docs.gitlab.com/ee/api/notification_settings.html](https://docs.gitlab.com/ee/api/notification_settings.html) * [Valid notification levels](#valid-notification-levels) * [Global notification settings](#global-notification-settings) * [Update global notification settings](#update-global-notification-settings) * [Group / project level notification settings](#group--project-level-notification-settings) * [Update group/project level notification settings](#update-groupproject-level-notification-settings) # Notification settings API[](#notification-settings-api "Permalink") 在 GitLab 8.12 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/5632) . ## Valid notification levels[](#valid-notification-levels "Permalink") 通知级别在`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` * `new_epic` ## Global notification settings[](#global-notification-settings "Permalink") 获取当前的通知设置和电子邮件地址. ``` GET /notification_settings ``` ``` curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/notification_settings" ``` 响应示例: ``` { "level": "participating", "notification_email": "admin@example.com" } ``` ## Update global notification settings[](#update-global-notification-settings "Permalink") 更新当前的通知设置和电子邮件地址. ``` PUT /notification_settings ``` ``` curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/notification_settings?level=watch" ``` | Attribute | Type | Required | Description | | --- | --- | --- | --- | | `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 | 启用/禁用此通知 | | `new_epic` | boolean | no | 启用/禁用此通知(在 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6626) ) | 响应示例: ``` { "level": "watch", "notification_email": "admin@example.com" } ``` ## Group / project level notification settings[](#group--project-level-notification-settings "Permalink") 获取当前的组或项目通知设置. ``` GET /groups/:id/notification_settings GET /projects/:id/notification_settings ``` ``` curl --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" ``` | Attribute | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer/string | yes | 组/项目 ID 或路径 | 响应示例: ``` { "level": "global" } ``` ## Update group/project level notification settings[](#update-groupproject-level-notification-settings "Permalink") 更新当前的组/项目通知设置. ``` PUT /groups/:id/notification_settings PUT /projects/:id/notification_settings ``` ``` curl --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" ``` | Attribute | Type | Required | Description | | --- | --- | --- | --- | | `id` | integer/string | yes | 组/项目 ID 或路径 | | `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 | 启用/禁用此通知 | | `new_epic` | boolean | no | 启用/禁用此通知(在 11.3 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6626) ) | 响应示例: ``` { "level": "watch" } { "level": "custom", "events": { "new_note": true, "new_issue": false, "reopen_issue": false, "close_issue": false, "reassign_issue": false, "issue_due": false, "new_merge_request": false, "push_to_merge_request": false, "reopen_merge_request": false, "close_merge_request": false, "reassign_merge_request": false, "merge_merge_request": false, "failed_pipeline": false, "fixed_pipeline": false, "success_pipeline": false } } ``` 使用 GitLab [Ultimate 或 Gold 的](https://about.gitlab.com/pricing/)用户还将看到`new_epic`参数: ``` { "level": "custom", "events": { "new_note": true, "new_issue": false, "new_epic": false, ... } } ```