文档首页/ 代码托管 CodeArts Repo/ API参考/ API/ V4/ MergeRequest/ 获取合并请求文件变更列表
更新时间:2025-07-15 GMT+08:00
分享

获取合并请求文件变更列表

功能介绍

获取合并请求文件变更列表

调试

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

URI

GET /v4/repositories/{repository_id}/merge-requests/{merge_request_iid}/changes

表1 路径参数

参数

是否必选

参数类型

描述

repository_id

Integer

参数解释:

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

约束限制:

不涉及。

取值范围:

1-2147483647

merge_request_iid

Integer

参数解释:

合并请求 iid。

取值范围:

1-2147483647

表2 Query参数

参数

是否必选

参数类型

描述

ignore_whitespace_change

Boolean

参数解释:

是否忽略空白数量更改。

取值范围:

  • true,忽略空白数量的更改。

  • false,不会忽略空白数量的更改。

默认取值:

false

force_encode

Boolean

参数解释:

是否强制将文件内容转码为utf-8

**约束限制 **

  • true, 强制将文件内容转码为utf-8。

  • false, 不强制将文件内容转码为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

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

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

约束限制:

必传。

取值范围:

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

默认取值:

不涉及。

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

[数组元素]

Array of SimpleMergeRequestChangesDto objects

合并请求文件变更列表详情

表5 SimpleMergeRequestChangesDto

参数

参数类型

描述

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

变更文件详情列表

表6 UserBasicDto

参数

参数类型

描述

id

Integer

参数解释:

用户id。

取值范围:

1-2147483647

name

String

参数解释:

用户名称。

username

String

参数解释:

用户名。

state

String

用户状态

service_license_status

Integer

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

avatar_url

String

用户头像url

avatar_path

String

用户头像路径

email

String

用户邮箱

name_cn

String

用户中文名称

web_url

String

用户个人首页

nick_name

String

用户昵称

tenant_name

String

租户名称

error_message

String

参数解释:

部分查询接口校验到传参里的用户权限不足或不存在时,返回该用户但该字段不为空用于提示。

表7 FileChangeDto

参数

参数类型

描述

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

表8 DiffRefDto

参数

参数类型

描述

base_sha

String

目标分支以及源分支的共同祖先commitId

head_sha

String

源分支的最新commitId

start_sha

String

目标分支的最新commitId

状态码:400

表9 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

error_msg

String

参数解释:

错误信息。

状态码:401

表10 响应Body参数

参数

参数类型

描述

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

错误码

请参见错误码

相关文档