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

创建仓库提交规则

功能介绍

创建仓库提交规则

调试

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

URI

POST /v4/repositories/{repository_id}/commit-rules

表1 路径参数

参数

是否必选

参数类型

描述

repository_id

Integer

参数解释:

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

约束限制:

不涉及。

取值范围:

1-2147483647

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

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

约束限制:

必传。

取值范围:

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

默认取值:

不涉及。

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

参数解释:

规则名称。

约束限制:

必填。

取值范围:

不涉及。

默认取值:

不涉及。

branch_name

String

参数解释:

分支规则。

约束限制:

必填。

取值范围:

不涉及。

默认取值:

不涉及。

commit_message_regex

String

参数解释:

提交信息匹配规则。

所有提交消息都必须进行正则表达式匹配, 例如: \d+..*。 若符合正则匹配,则允许提交。若此字段为空,则允许任何提交消息。 您也可以设置在提交信息中必须包含工作项单号,实现代码的E2E追溯。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

commit_message_negative_regex

String

参数解释:

提交信息负面匹配规则。

所有提交消息都必须进行正则表达式匹配,例如: \d+..*。 符合正则匹配,则不允许提交。若此字段为空,则允许任何提交消息。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

author_regex

String

参数解释:

提交人的正则表达式。

提交人必须进行正则表达式匹配, 例如: /([a-zA-Z]\d){7}/。如果此字段为空,则允许任何提交人。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

author_email_regex

String

参数解释:

提交人邮箱地址的正则表达式。

所有提交者邮箱地址都必须进行正则表达式匹配, 例如: @my-company.com$。如果此字段为空,则允许任何提交邮箱地址。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

prohibited_file_name_regex

String

参数解释:

禁止提交的文件名称的正则表达式。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

max_file_size

Integer

参数解释:

单文件大小限制(MB)。

单文件大小超过上述规格的添加或更新推送将被拒绝,Repo建议的最佳上限值为50MB。 系统支持单文件提交的最大值为300MB。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

50

取值范围:

1-300

binary_gate_enabled

Boolean

参数解释:

禁止新增二进制文件(对特权用户无效)。

约束限制:

不涉及。

取值范围:

  • true,禁止新增二进制文件。

  • false,允许新增二进制文件。

默认取值:

不涉及。

allowed_modify_binary

Boolean

参数解释:

允许修改二进制文件(对特权用户无效)。

约束限制:

不涉及。

取值范围:

  • true,允许修改二进制文件。

  • false,禁止修改二进制文件。

默认取值:

不涉及。

allowed_binary_file_name_regex

String

参数解释:

二进制文件白名单(可直接入库的文件)。

所有被推送的二进制文件名必须进行正则表达式匹配, 例如: (.png|.xls|.xlsx|.docx|.doc)$ 。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

privileged_user_ids

Array of integers

参数解释:

特权用户ID列表(特权用户可直接推送所有二进制文件入库。

只有特权用户能推送二进制文件。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

取值范围:

1-2147483647

effective_date

String

参数解释:

规则生效时间, 例如: 2025-8-19。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

skip_rule_check

Boolean

参数解释:

跳过规则检测。

约束限制:

仅CR仓库支持此参数。

取值范围:

不涉及。

默认取值:

不涉及。

skip_rule_end_date

String

参数解释:

跳过规则检测失效时间, 例如: 2025-8-19。

约束限制:

仅CR仓库支持此参数。

取值范围:

不涉及。

默认取值:

不涉及。

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

id

Integer

参数解释:

主键ID。

取值范围:

不涉及。

取值范围:

1-2147483647

repository_id

Integer

参数解释:

仓库ID。

取值范围:

不涉及。

取值范围:

1-2147483647

commit_message_regex

String

参数解释:

提交信息匹配规则。

commit_message_negative_regex

String

参数解释:

提交信息负面匹配规则。

prohibited_file_name_regex

String

参数解释:

禁止提交的文件名称。

author_email_regex

String

参数解释:

提交人邮箱地址。

max_file_size

Integer

参数解释:

单文件大小限制(MB)。

取值范围:

0-300

allowed_max_file_size

Integer

参数解释:

允许的最大单文件大小(MB)。

取值范围:

0-300

effective_date

String

参数解释:

规则生效时间。

binary_gate_enabled

Boolean

参数解释:

是否禁止新增二进制文件(对特权用户无效)。

约束限制:

不涉及。

取值范围:

  • true,禁止新增二进制文件。

  • false,允许新增二进制文件。

privileged_users

Array of RepositoryUserBasicDto objects

参数解释:

特权用户(特权用户可直接推送所有二进制文件入库)。

allowed_modify_binary

Boolean

参数解释:

是否允许修改二进制文件(对特权用户无效)。

约束限制:

不涉及。

取值范围:

  • true,允许修改二进制文件。

  • false,禁止修改二进制文件。

allowed_binary_file_name_regex

String

参数解释:

二进制文件白名单(可直接入库的文件)。

author_regex

AnyType

参数解释:

提交人。

updated_at

String

参数解释:

更新时间。

name

String

参数解释:

规则名称。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

branch_name

String

参数解释:

分支规则。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

created_at

String

参数解释:

创建时间。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

skip_rule_check

Boolean

参数解释:

跳过规则检测。

约束限制:

仅CR仓库支持此参数。

skip_rule_end_date

String

参数解释:

跳过规则检测失效时间, 例如: 2025-8-19。

约束限制:

仅CR仓库支持此参数。

表5 RepositoryUserBasicDto

参数

参数类型

描述

id

Integer

参数解释:

用户id

约束限制:

不涉及。

取值范围:

1-2147483647

name

String

参数解释:

用户名称

约束限制:

不涉及。

username

String

参数解释:

用户名

约束限制:

不涉及。

state

String

参数解释:

用户状态。

取值范围:

  • active,激活。

  • blocked,禁用。

枚举值:

  • active

  • blocked

service_license_status

Integer

参数解释:

服务级权限状态 0:停用 1:启用

约束限制:

不涉及。

取值范围:

1-2147483647

name_cn

String

参数解释:

用户中文名称

约束限制:

不涉及。

nick_name

String

参数解释:

用户昵称

约束限制:

不涉及。

tenant_name

String

参数解释:

租户名称

约束限制:

不涉及。

请求示例

创建仓库提交规则

PUT /v4/repositories/{repository_id}/commit-rules

{
  "binary_gate_enabled" : true,
  "allowed_modify_binary" : true,
  "max_file_size" : 50,
  "effective_date" : null,
  "privileged_user_ids" : [ 9124 ],
  "name" : "fffffff2233",
  "branch_name" : "mas1*"
}

响应示例

状态码:200

仓库提交规则

{
  "id" : 169352,
  "repository_id" : 2112035798,
  "commit_message_regex" : "test",
  "commit_message_negative_regex" : "test",
  "prohibited_file_name_regex" : "test",
  "author_email_regex" : "test",
  "max_file_size" : 50,
  "allowed_max_file_size" : 300,
  "effective_date" : "2025-01-14T20:13:56.000+08:00",
  "binary_gate_enabled" : true,
  "privileged_users" : [ {
    "id" : 9124,
    "name" : "test_user",
    "username" : "test_user",
    "state" : "active",
    "service_license_status" : null,
    "name_cn" : "test_user",
    "nick_name" : "beta_dv",
    "tenant_name" : "test_tenant"
  } ],
  "allowed_modify_binary" : true,
  "allowed_binary_file_name_regex" : "test",
  "author_regex" : "test",
  "name" : "2",
  "branch_name" : "2",
  "created_at" : "2025-06-20T17:37:55.000+08:00",
  "updated_at" : "2025-06-20T17:37:55.000+08:00"
}

状态码

状态码

描述

200

仓库提交规则

错误码

请参见错误码

相关文档