通知設定API
REST APIを使用して通知設定を変更します。
有効な通知レベル
通知レベルは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 | 文字列です。 | いいえ | グローバル通知レベル |
notification_email | 文字列です。 | いいえ | 通知を送信するメールアドレス |
new_note | boolean | いいえ | この通知の有効/無効 |
new_issue | boolean | いいえ | この通知の有効/無効 |
reopen_issue | boolean | いいえ | この通知の有効/無効 |
close_issue | boolean | いいえ | この通知の有効/無効 |
reassign_issue | boolean | いいえ | この通知の有効/無効 |
issue_due | boolean | いいえ | この通知の有効/無効 |
new_merge_request | boolean | いいえ | この通知の有効/無効 |
push_to_merge_request | boolean | いいえ | この通知の有効/無効 |
reopen_merge_request | boolean | いいえ | この通知の有効/無効 |
close_merge_request | boolean | いいえ | この通知の有効/無効 |
reassign_merge_request | boolean | いいえ | この通知の有効/無効 |
merge_merge_request | boolean | いいえ | この通知の有効/無効 |
failed_pipeline | boolean | いいえ | この通知の有効/無効 |
fixed_pipeline | boolean | いいえ | この通知の有効/無効 |
success_pipeline | boolean | いいえ | この通知の有効/無効 |
moved_project | boolean | いいえ | この通知を有効/無効にします(GitLab 13.3で導入) |
merge_when_pipeline_succeeds | boolean | いいえ | この通知を有効/無効にします(GitLab 13.9で導入) |
new_epic | boolean | いいえ | この通知を有効/無効にします(GitLab 11.3で導入) |
応答例
{
"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 | 整数または文字列。 | 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 | 整数または文字列。 | yes | グループまたはプロジェクトのID、またはURLエンコードされたパス |
level | 文字列です。 | いいえ | グローバル通知レベル |
new_note | boolean | いいえ | この通知の有効/無効 |
new_issue | boolean | いいえ | この通知の有効/無効 |
reopen_issue | boolean | いいえ | この通知の有効/無効 |
close_issue | boolean | いいえ | この通知の有効/無効 |
reassign_issue | boolean | いいえ | この通知の有効/無効 |
issue_due | boolean | いいえ | この通知の有効/無効 |
new_merge_request | boolean | いいえ | この通知の有効/無効 |
push_to_merge_request | boolean | いいえ | この通知の有効/無効 |
reopen_merge_request | boolean | いいえ | この通知の有効/無効 |
close_merge_request | boolean | いいえ | この通知の有効/無効 |
reassign_merge_request | boolean | いいえ | この通知の有効/無効 |
merge_merge_request | boolean | いいえ | この通知の有効/無効 |
failed_pipeline | boolean | いいえ | この通知の有効/無効 |
fixed_pipeline | boolean | いいえ | この通知の有効/無効 |
success_pipeline | boolean | いいえ | この通知の有効/無効 |
moved_project | boolean | いいえ | この通知を有効/無効にします(GitLab 13.3で導入) |
merge_when_pipeline_succeeds | boolean | いいえ | この通知を有効/無効にします(GitLab 13.9で導入) |
new_epic | boolean | いいえ | この通知を有効/無効にします(GitLab 11.3で導入) |
レスポンスの例
{
"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のユーザーもnew_epic
パラメータでグローバルとグループレベルの通知設定を見ることができます:
{
"level": "custom",
"events": {
"new_note": true,
"new_issue": false,
"new_epic": false,
...
}
}