获取合并请求文件变更列表
功能介绍
获取合并请求文件变更列表
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
GET /v4/repositories/{repository_id}/merge-requests/{merge_request_iid}/changes
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
repository_id |
是 |
Integer |
参数解释: 仓库的ID,通过查询用户所有仓库接口查询项目列表获取。 约束限制: 不涉及。 取值范围: 1-2147483647 |
merge_request_iid |
是 |
Integer |
参数解释: 合并请求 iid。 取值范围: 1-2147483647 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
ignore_whitespace_change |
否 |
Boolean |
参数解释: 是否忽略空白数量更改。 取值范围:
默认取值: false |
force_encode |
否 |
Boolean |
参数解释: 是否强制将文件内容转码为utf-8 **约束限制 **
默认取值: false |
file_path |
是 |
String |
参数解释: 文件路径。 取值范围: 字符串长度不少于1,不超过10000。 |
from_diff_id |
否 |
Integer |
参数解释: 文件变更对比源版本id |
to_diff_id |
否 |
Integer |
参数解释: 文件变更对比目标版本id |
offset |
否 |
Integer |
参数解释: 偏移量,从0开始。 取值范围: 0-2147483647 默认取值: 0 |
limit |
否 |
Integer |
参数解释: 返回数量。 取值范围: 1-100 默认取值: 20 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 必传。 取值范围: 字符串长度不少于1,不超过10万。 默认取值: 不涉及。 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
[数组元素] |
Array of SimpleMergeRequestChangesDto objects |
合并请求文件变更列表详情 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
Integer |
MR id |
repository_id |
Integer |
仓库id |
title |
String |
合并请求标题 |
description |
String |
合并请求描述 |
state |
String |
合并请求状态 |
source_branch |
String |
合并请求源分支名 |
target_branch |
String |
合并请求目标分支名 |
author |
UserBasicDto object |
用户信息 |
web_url |
String |
合并请求URL链接 |
create_at |
String |
合并请求创建时间 |
update_at |
String |
合并请求最后更新时间 |
sha |
String |
当前变更对应的目标版本commitId |
change_count |
Integer |
变更文件数量 |
diff_refs |
DiffRefDto object |
合并请求变更commit,包含base_sha、start_sha、head_sha |
added_lines |
Integer |
新增行 |
removed_lines |
Integer |
删除行 |
changes |
Array of FileChangeDto objects |
变更文件详情列表 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
Integer |
参数解释: 用户id。 取值范围: 1-2147483647 |
name |
String |
参数解释: 用户名称。 |
username |
String |
参数解释: 用户名。 |
state |
String |
用户状态 |
service_license_status |
Integer |
服务级权限状态 0:停用 1:启用 |
avatar_url |
String |
用户头像url |
avatar_path |
String |
用户头像路径 |
|
String |
用户邮箱 |
name_cn |
String |
用户中文名称 |
web_url |
String |
用户个人首页 |
nick_name |
String |
用户昵称 |
tenant_name |
String |
租户名称 |
error_message |
String |
参数解释: 部分查询接口校验到传参里的用户权限不足或不存在时,返回该用户但该字段不为空用于提示。 |
参数 |
参数类型 |
描述 |
---|---|---|
file_path |
String |
文件路径 |
old_path |
String |
变更文件源分支路径 |
new_path |
String |
变更文件目标分支路径 |
a_mode |
String |
旧文件权限 |
b_mode |
String |
新文件权限 |
mode_changed |
Boolean |
文件权限是否变更 |
file_type |
String |
文件类型 |
new_file |
Boolean |
是否为新增文件 |
renamed_file |
Boolean |
是否为重命名文件 |
deleted_file |
Boolean |
是否为删除文件 |
diff |
String |
变更文件内容 |
binary |
Boolean |
是否为二进制文件 |
too_large |
Boolean |
是否为大文件 |
collapsed |
Boolean |
是否折叠文件 |
added_lines |
Integer |
文件新增行 |
removed_lines |
Integer |
文件删除行 |
content_sha |
String |
文件最新commitId |
diff_refs |
DiffRefDto object |
合并请求变更commit,包含base_sha、start_sha、head_sha |
参数 |
参数类型 |
描述 |
---|---|---|
base_sha |
String |
目标分支以及源分支的共同祖先commitId |
head_sha |
String |
源分支的最新commitId |
start_sha |
String |
目标分支的最新commitId |
状态码:400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
参数解释: 错误码。 |
error_msg |
String |
参数解释: 错误信息。 |
状态码:401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
参数解释: 错误码。 |
error_msg |
String |
参数解释: 错误信息。 |
请求示例
/v4/repositories/2111976239/merge-requests/6/changes
响应示例
状态码:200
OK
{ "id" : 61415, "repository_id" : 2111784689, "title" : "更新 dev", "description" : "merge \\\"dev\\\" into \\\"master\\\"\\n更新 dev", "state" : "opened", "source_branch" : "dev", "target_branch" : "master", "author" : { "id" : 10311, "name" : "repo_xuxu", "name_cn" : "repo_xuxu", "nick_name" : "repo_xx", "tenant_name" : "example_name", "username" : "e2dd5152774149298b749e245523bc78", "state" : "active", "email" : "e2dd5152774149298b749e245523bc78@example.com", "web_url" : "https://example.com/e2dd5152774149298b749e245523bc78" }, "web_url" : "https://example.com/yx_test_repo_yangxu00001/author_approval_test/merge_requests/12", "sha" : "7817fb2d9d65e64389ce4cebc542aa2948f45da5", "change_count" : 1, "diff_refs" : { "base_sha" : "ee792e378901e39008c6cbdd5bf01b056ba56e9b", "head_sha" : "7817fb2d9d65e64389ce4cebc542aa2948f45da5", "start_sha" : "283ae4a61aefac2c6c559544ca2af6d1a85ee02b" }, "added_lines" : null, "removed_lines" : null, "changes" : [ { "file_path" : "dev", "old_path" : "dev", "new_path" : "dev", "a_mode" : 33188, "b_mode" : 33188, "mode_changed" : false, "file_type" : "text_type", "new_file" : false, "renamed_file" : false, "deleted_file" : false, "diff" : "@@ -1,3 +1,3 @@\\n-dev1111\\n+dev11112222222333\\n", "binary" : false, "too_large" : false, "collapsed" : false, "added_lines" : 1, "removed_lines" : 1, "content_sha" : "7817fb2d9d65e64389ce4cebc542aa2948f45da5", "diff_refs" : { "base_sha" : "ee792e378901e39008c6cbdd5bf01b056ba56e9b", "head_sha" : "7817fb2d9d65e64389ce4cebc542aa2948f45da5", "start_sha" : "283ae4a61aefac2c6c559544ca2af6d1a85ee02b" } } ], "create_at" : "2025-02-18T15:20:50.000+08:00", "update_at" : "2025-02-26T14:45:45.000+08:00" }
状态码:400
Bad Request
{ "error_code" : "CH.00405011", "error_msg" : "错误请求" }
状态码:401
Unauthorized
{ "error_code" : "DEV.00000003", "error_msg" : "认证信息过期" }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Unauthorized |
错误码
请参见错误码。