Help Center/ CodeArts Repo/ API Reference/ APIs/ V4/ MergeRequest/ Obtaining the Latest Pipeline Associated with a Merge Request
Updated on 2026-04-28 GMT+08:00

Obtaining the Latest Pipeline Associated with a Merge Request

Function

This API is used to obtain the latest pipeline associated with a merge request.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

URI

GET https://{hostURL}/v4/repositories/{repository_id}/merge-requests/{merge_request_iid}/actual-head-pipeline

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

repository_id

Yes

Integer

Definition

You can query the project list to obtain the repository ID by calling the API used to query user's all repositories.

Constraints

N/A.

Value range:

1~2147483647

merge_request_iid

Yes

Integer

Definition

MR internal ID (IID).

Value range:

1~2147483647

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token. Obtain a token by calling the IAM API for obtaining a user token. The value of X-Subject-Token in the response header is the user token.

Constraints

Mandatory.

Range

1–100,000 characters.

Default Value

N/A.

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

data

PipelineDetailDto object

Pipeline details

is_valid

Boolean

Whether the latest commit has a corresponding pipeline

Table 4 PipelineDetailDto

Parameter

Type

Description

id

Integer

Pipeline ID

Value range:

1~2147483647

web_url

String

Pipeline link

sha

String

commit id

ref

String

Branch

status

String

Pipeline status. pending: queuing; running: running; success: successful; failed: failed; canceled: canceled; skipped: skipped; and timedout: timed out

Enumeration values:

  • pending

  • running

  • success

  • failed

  • canceled

  • skipped

  • timedout

created_at

String

Pipeline creation time

updated_at

String

Pipeline update time

started_at

String

Pipeline start time

finished_at

String

Pipeline end time

repository_id

Integer

Repository ID

Value range:

1~2147483647

is_invalid

Boolean

Whether the pipeline is invalid

type

String

Pipeline type. MERGE REQUEST indicates that the pipeline is triggered by an MR

Enumeration values:

  • MERGE REQUEST

stages

Array of PipelineStageDto objects

Phase information

is_latest

Boolean

The latest pipeline or not.

trigger_user

String

Triggered user

all_job_finished

Boolean

Whether all jobs are complete

Table 5 PipelineStageDto

Parameter

Type

Description

id

Integer

Stage ID

Value range:

1~2147483647

repository_id

Integer

Repository ID

Value range:

1~2147483647

pipeline_id

Integer

Pipeline ID

Value range:

1~2147483647

name

String

Stage name

sort_id

Integer

Phase sequence ID

Value range:

1~2147483647

status

String

Stage status. pending: queuing; running: running; success: successful; failed: failed; canceled: canceled; skipped: skipped; and timedout: timed out

Enumeration values:

  • pending

  • running

  • success

  • failed

  • canceled

  • skipped

  • timedout

Status code: 401

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Status code: 404

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Example Requests

/v4/repositories/2111976239/merge-requests/6/actual-head-pipeline

Example Responses

Status code: 200

OK

{
  "is_valid" : true,
  "data" : {
    "id" : 8125,
    "web_url" : "https://example.com/72271b5446614062a01b8be944c9f372/hxb11222/pipelines/8125",
    "sha" : "5167228a3d13f9d59f969104c6fc4dbb38f7b5cc",
    "ref" : "master",
    "status" : "failed",
    "created_at" : "2024-12-12T20:47:46.000+08:00",
    "updated_at" : "2024-12-12T20:47:47.000+08:00",
    "started_at" : "2024-12-12T20:47:47.000+08:00",
    "finished_at" : "2024-12-12T20:47:47.000+08:00",
    "repository_id" : 2111976239,
    "is_invalid" : null,
    "type" : "MERGE REQUEST",
    "stages" : [ {
      "id" : 12625,
      "repository_id" : 2111976239,
      "pipeline_id" : 8125,
      "name" : "CodeArtsCheck",
      "sort_id" : null,
      "status" : "failed"
    } ],
    "is_latest" : true,
    "trigger_user" : null,
    "all_job_finished" : true
  }
}

Status code: 401

Unauthorized

{
  "error_code" : "CH.00000002",
  "error_msg" : "Recognize authentication information failed."
}

Status code: 404

Not Found

{
  "error_code" : "CH.00402000",
  "error_msg" : "The repository does not exist. Check and try again."
}

Status Codes

Status Code

Description

200

OK

401

Unauthorized

404

Not Found

Error Codes

See Error Codes.