创建仓库提交规则
功能介绍
创建仓库提交规则
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v4/repositories/{repository_id}/commit-rules
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
repository_id |
是 |
Integer |
参数解释: 仓库的ID,通过查询用户所有仓库接口查询项目列表获取。 约束限制: 不涉及。 取值范围: 1-2147483647 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 必传。 取值范围: 字符串长度不少于1,不超过10万。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
参数解释: 禁止新增二进制文件(对特权用户无效)。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
allowed_modify_binary |
否 |
Boolean |
参数解释: 允许修改二进制文件(对特权用户无效)。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
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
参数 |
参数类型 |
描述 |
---|---|---|
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 |
参数解释: 是否禁止新增二进制文件(对特权用户无效)。 约束限制: 不涉及。 取值范围:
|
privileged_users |
Array of RepositoryUserBasicDto objects |
参数解释: 特权用户(特权用户可直接推送所有二进制文件入库)。 |
allowed_modify_binary |
Boolean |
参数解释: 是否允许修改二进制文件(对特权用户无效)。 约束限制: 不涉及。 取值范围:
|
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仓库支持此参数。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
Integer |
参数解释: 用户id 约束限制: 不涉及。 取值范围: 1-2147483647 |
name |
String |
参数解释: 用户名称 约束限制: 不涉及。 |
username |
String |
参数解释: 用户名 约束限制: 不涉及。 |
state |
String |
参数解释: 用户状态。 取值范围:
枚举值:
|
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 |
仓库提交规则 |
错误码
请参见错误码。