更新时间:2024-10-26 GMT+08:00
分享

获取合并请求的变化

功能介绍

获取合并请求的变化。

调试

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

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

repository_id

String

仓库短ID

merge_request_iid

Integer

合并请求在仓库的IID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

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

表3 Query参数

参数

是否必选

参数类型

描述

file_path

String

文件路径

ignore_whitespace_change

Boolean

是否忽略空格

force_encode

Boolean

是否需要转码

view

String

视图(可选值:simple)

commit_id

String

Commit的ID

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

result

Result object

响应结果

status

String

响应状态

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error

Error object

响应错误

status

String

响应状态

表6 Error

参数

参数类型

描述

code

String

错误码

message

String

错误信息

表7 Result

参数

参数类型

描述

id

Integer

合并请求ID

iid

Integer

合并请求IID

project_id

Integer

仓库ID

title

String

标题

description

String

描述

state

String

合并请求状态

created_at

String

创建时间

updated_at

String

更新时间

target_branch

String

目标分支

source_branch

String

源分支

user_notes_count

Integer

检视意见数量

upvotes

Integer

增加评分

downvotes

Integer

减少评分

author

UserDto object

作者

source_project_id

Integer

源仓库ID

target_project_id

Integer

目标仓库ID

labels

Array of strings

标签

work_in_progress

Boolean

是否WIP

merge_when_pipeline_succeeds

Boolean

是否流水线成功自动合入

merge_status

String

合并状态

sha

String

sha

should_remove_source_branch

Boolean

是否删除源分支

force_remove_source_branch

Boolean

是否删除源分支

web_url

String

网页链接

time_stats

TimeStats object

时间花费

squash

Boolean

是否为Squash合入

merge_request_type

String

合并请求类型

subscribed

Boolean

是否订阅

changes_count

String

更改数量

diff_refs

DiffRefs object

sha值

user

User object

用户

added_lines

Integer

增加行数

removed_lines

Integer

减少行数

changes

Array of Changes

文件的变更

表8 UserDto

参数

参数类型

描述

id

Double

用户ID

name

String

用户名

state

String

用户状态

username

String

用户IamId

name_cn

String

中文名

表9 TimeStats

参数

参数类型

描述

total_time_spent

Integer

花费总时间

表10 DiffRefs

参数

参数类型

描述

base_sha

String

基础sha

head_sha

String

目标sha

start_sha

String

源sha

表11 User

参数

参数类型

描述

can_merge

Boolean

是否可合并

表12 Change

参数

参数类型

描述

new_path

String

新路径

old_path

String

原路径

a_mode

String

a模式

b_mode

String

b模式

file_path

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

内容的sha值

submodule

Boolean

是否子模块

expanded

Boolean

是否展开

diff_refs

DiffRefs object

sha值

mode_changed

Boolean

是否变更模式

file_type

String

文件类型

请求示例

GET https://{endpoint}/v2/repositories/456156/merge-requests/1/changes?view=simple

响应示例

状态码: 200

OK
{
    "result": {
        "id": 42466,
        "iid": 2,
        "project_id": 892155,
        "title": "新建文件 111",
        "description": "merge \"1\" into \"master\"\n新建文件 111",
        "state": "opened",
        "created_at": "2024-03-24T11:29:56.000+08:00",
        "updated_at": "2024-04-10T17:34:06.000+08:00",
        "target_branch": "master",
        "source_branch": "1",
        "user_notes_count": 2,
        "upvotes": 0,
        "downvotes": 0,
        "author": {
            "id": 6916,
            "name": "Online_L0_CodeHub",
            "username": "5cb39fe67a2b465283c1463a87274980",
            "state": "active",
            "name_cn": "Online_L0_CodeHub"
        },
        "source_project_id": 892155,
        "target_project_id": 892155,
        "labels": [],
        "work_in_progress": false,
        "merge_when_pipeline_succeeds": false,
        "merge_status": "can_be_merged",
        "sha": "43b573473948e13934379993943ac5deea7cd391",
        "should_remove_source_branch": false,
        "force_remove_source_branch": false,
        "web_url": "https://test.com/dcf7e8cde4474a4e8219921f564c32d6/test_no_readme/merge_requests/2",
        "time_stats": {
            "total_time_spent": 0
        },
        "squash": false,
        "merge_request_type": "MergeRequest",
        "subscribed": true,
        "changes_count": "1",
        "diff_refs": {
            "base_sha": "ca4cf1a049e286032b25e1604f44f2969818b3f5",
            "head_sha": "43b573473948e13934379993943ac5deea7cd391",
            "start_sha": "ca4cf1a049e286032b25e1604f44f2969818b3f5"
        },
        "user": {
            "can_merge": true
        },
        "added_lines": 5,
        "removed_lines": 0,
        "changes": [
            {
                "old_path": "111",
                "new_path": "111",
                "a_mode": "0",
                "b_mode": "100644",
                "file_path": "111",
                "new_file": true,
                "renamed_file": false,
                "deleted_file": false,
                "diff": "@@ -0,0 +1,5 @@\n+1\r\n+2\r\n+3\r\n+4\r\n+5\n\\ No newline at end of file\n",
                "binary": false,
                "too_large": false,
                "collapsed": false,
                "added_lines": 5,
                "removed_lines": 0,
                "content_sha": "43b573473948e13934379993943ac5deea7cd391",
                "submodule": false,
                "expanded": true,
                "diff_refs": {
                    "base_sha": "ca4cf1a049e286032b25e1604f44f2969818b3f5",
                    "head_sha": "43b573473948e13934379993943ac5deea7cd391",
                    "start_sha": "ca4cf1a049e286032b25e1604f44f2969818b3f5"
                },
                "mode_changed": true,
                "file_type": "text_type"
            }
        ]
    },
    "status": "success"
}

状态码: 400

Bad Request

{
    "error": {
        "code": "CH.010001",
        "message": "参数非法"
    },
    "status": "failed"
}

状态码

状态码

描述

200

OK

400

Bad Request

错误码

请参见错误码

相关文档