更新时间:2025-08-20 GMT+08:00
分享

修改仓库通知设置

功能介绍

修改仓库通知设置

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

PUT /v4/repositories/{repository_id}/notification-subscriptions/subscription

表1 路径参数

参数

是否必选

参数类型

描述

repository_id

Integer

参数解释:

仓库的ID,通过查询用户所有仓库接口查询项目列表获取。

约束限制:

不涉及。

取值范围:

1-2147483647

表2 Query参数

参数

是否必选

参数类型

描述

type

String

参数解释:

通知类型。

取值范围:

  • internal_message,站内信。

  • email,邮件。

  • qyweixin,企业微信。

  • feishu,飞书。

  • dingding,钉钉。

枚举值:

  • internal_message

  • email

  • qyweixin

  • feishu

  • dingding

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

约束限制:

必传。

取值范围:

字符串长度不少于1,不超过10万。

默认取值:

不涉及。

表4 请求Body参数

参数

是否必选

参数类型

描述

enabled

Boolean

参数解释:

开启通知。

config_source

String

参数解释:

配资源。

枚举值:

  • repo

  • product

webhook_config

UpdateRepoWebHookSubscriptionDto object

参数解释:

webhook配置。

waring_repo_usage_rate

Integer

参数解释:

仓库使用量告警阀值(百分比)。

枚举值:

  • 60

  • 80

  • 90

subscript_events

Array of RepoSubscriptionEventDto objects

参数解释:

通知事件。

表5 UpdateRepoWebHookSubscriptionDto

参数

是否必选

参数类型

描述

url

String

参数解释:

webhook的url (需要base64编码)。

token

String

参数解释:

秘钥。

mention_users

String

参数解释:

userid列表,提醒群中的指定成员(@某个成员),最长1000,每个最长100,“;”分隔符。

mention_phone

String

参数解释:

手机号列表(需要base64编码),提醒手机号对应的群成员(@某个成员),最长1000,每个最长30,“;”分隔符。

表6 RepoSubscriptionEventDto

参数

是否必选

参数类型

描述

resource_type

String

参数解释:

资源类型。

  • repo,仓库。

  • mr,合并请求。

  • member,成员。

  • note,检视意见。

枚举值:

  • repo

  • mr

  • member

  • note

action

String

参数解释:

事件名。

  • create,创建。

  • open,开启。

  • update,更新。

  • delete,删除。

  • merge,合并。

  • review,检视。

  • approve,审核。

  • create_note,新建评审意见。

  • resolve_note,解决评审意见。

  • mention,被提及。

枚举值:

  • create

  • open

  • update

  • delete

  • merge

  • review

  • approve

  • create_note

  • resolve_note

  • capacity_warning

  • mention

enabled

Boolean

参数解释:

启用事件通知

role_ids

Array of strings

参数解释:

通知的角色ID列表

role_names

Array of strings

参数解释:

通知的角色名称列表。

  • creator,创建者。

  • assignee,合并人。

  • reviewer,评审人。

  • scorer,审核人。

  • approver,检视人。

枚举值:

  • creator

  • assignee

  • reviewer

  • scorer

  • approver

响应参数

状态码:200

表7 响应Body参数

参数

参数类型

描述

repository_id

Integer

参数解释:

仓库ID。

取值范围:

1-2147483647

enabled

Boolean

参数解释:

开启通知。

config_source

String

参数解释:

配资源。

枚举值:

  • repo

  • product

webhook_config

RepoWebHookSubscriptionDto object

参数解释:

webhook配置。

waring_repo_usage_rate

Integer

参数解释:

仓库使用量告警阀值(百分比)。

枚举值:

  • 60

  • 80

  • 90

subscript_events

Array of RepoSubscriptionEventDto objects

参数解释:

通知事件。

表8 RepoWebHookSubscriptionDto

参数

参数类型

描述

url

String

参数解释:

webhook的url。

mention_users

String

参数解释:

userid列表,提醒群中的指定成员(@某个成员),最长1000,每个最长100,“;”分隔符。

mention_phone

String

参数解释:

手机号列表,提醒手机号对应的群成员(@某个成员),最长1000,每个最长30,“;”分隔符。

has_token

Boolean

参数解释:

是否设置了token。

表9 RepoSubscriptionEventDto

参数

参数类型

描述

resource_type

String

参数解释:

资源类型。

  • repo,仓库。

  • mr,合并请求。

  • member,成员。

  • note,检视意见。

枚举值:

  • repo

  • mr

  • member

  • note

action

String

参数解释:

事件名。

  • create,创建。

  • open,开启。

  • update,更新。

  • delete,删除。

  • merge,合并。

  • review,检视。

  • approve,审核。

  • create_note,新建评审意见。

  • resolve_note,解决评审意见。

  • mention,被提及。

枚举值:

  • create

  • open

  • update

  • delete

  • merge

  • review

  • approve

  • create_note

  • resolve_note

  • capacity_warning

  • mention

enabled

Boolean

参数解释:

启用事件通知

role_ids

Array of strings

参数解释:

通知的角色ID列表

role_names

Array of strings

参数解释:

通知的角色名称列表。

  • creator,创建者。

  • assignee,合并人。

  • reviewer,评审人。

  • scorer,审核人。

  • approver,检视人。

枚举值:

  • creator

  • assignee

  • reviewer

  • scorer

  • approver

状态码:401

表10 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

error_msg

String

参数解释:

错误信息。

状态码:403

表11 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

error_msg

String

参数解释:

错误信息。

状态码:404

表12 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

error_msg

String

参数解释:

错误信息。

请求示例

修改仓库通知设置

PUT /v4/repositories/123/notification-subscriptions/subscription

{
  "enabled" : true,
  "config_source" : "repo",
  "waring_repo_usage_rate" : 60,
  "webhook_config" : {
    "url" : "aHR0cHM6Ly9xeWFwaS53ZWl4aW4ucXEuY29tL2NnaS1iaW4vd2ViaG9vay9zZW5kP2tleT02MDEyMTgxYS1lMzRmLTQ2NDUtYjU2MS01N2FiNGIzY2Q1NjY=",
    "token" : "YXNkZmFzZGYyQDEyMw==",
    "mention_users" : "1;2",
    "mention_phone" : "MTc4MTIzNDEyMzQ7MTg1MTIzNDEyMzQ7MTY3MTIzNDU2Nzg="
  },
  "subscript_events" : [ {
    "resource_type" : "repo",
    "action" : "delete",
    "enabled" : true
  }, {
    "resource_type" : "repo",
    "action" : "capacity_warning",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "open",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "update",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "merge",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "review",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "approve",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "create_note",
    "enabled" : true
  }, {
    "resource_type" : "mr",
    "action" : "resolve_note",
    "enabled" : true
  } ]
}

响应示例

状态码:200

通知设置详情

{
  "repository_id" : 2111978605,
  "enabled" : true,
  "config_source" : "repo",
  "webhook_config" : {
    "url" : "https://example.com/cgi-bin/webhook/send?key=xxxx",
    "mention_users" : "1;2",
    "mention_phone" : "17812341234;18512341234;16712345678"
  },
  "waring_repo_usage_rate" : 60,
  "subscript_events" : [ {
    "resource_type" : "mr",
    "action" : "open",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "update",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "merge",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "review",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "approve",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "create_note",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "mr",
    "action" : "resolve_note",
    "enabled" : true,
    "role_ids" : null,
    "role_names" : [ ]
  }, {
    "resource_type" : "repo",
    "action" : "delete",
    "enabled" : true,
    "role_ids" : [ "" ],
    "role_names" : null
  }, {
    "resource_type" : "repo",
    "action" : "capacity_warning",
    "enabled" : true,
    "role_ids" : [ "" ],
    "role_names" : null
  } ]
}

状态码:401

Unauthorized

{
  "error_code" : "CH.00000001",
  "error_msg" : "未识别到用户认证信息"
}

状态码:403

Bad Request

{
  "error_code" : "CH.00401008",
  "error_msg" : "您没有操作权限,请升级权限后重试。"
}

状态码:404

Not Found

{
  "error_code" : "CH.00402000",
  "error_msg" : "该仓库不存在,请检查后重试。"
}

状态码

状态码

描述

200

通知设置详情

401

Unauthorized

403

Bad Request

404

Not Found

错误码

请参见错误码

相关文档