{{< details >}}
- Tier: 基础版, 专业版, 旗舰版
- Offering: JihuLab.com, 私有化部署
{{< /details >}}
使用此 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
仅限旗舰版。
全局通知设置
获取当前通知设置和电子邮件地址。
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"
}
更新全局通知设置
更新当前通知设置和电子邮件地址。
PUT /notification_settings
curl --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 | 启用/禁用此通知,仅限旗舰版。 |
示例响应:
{
"level": "watch",
"notification_email": "admin@example.com"
}
群组/项目级别通知设置
获取当前群组或项目的通知设置。
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"
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
id |
integer 或 string | yes | 群组或项目的 ID 或 URL 编码路径。 |
示例响应:
{
"level": "global"
}
更新群组/项目级别通知设置
更新当前群组/项目的通知设置。
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"
属性 | 类型 | 必需 | 描述 |
---|---|---|---|
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 | 启用/禁用此通知,仅限旗舰版。 |
示例响应:
{
"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旗舰版 的用户还可以看到全局和群组级通知设置的 new_epic
参数:
{
"level": "custom",
"events": {
"new_note": true,
"new_issue": false,
"new_epic": false,
...
}
}