You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改GitLab管道名称?MR标题作管道标题问题求助

问题解决方案

1. 自定义Pipeline/Job显示名称

GitLab在MR触发的管道中默认使用MR标题作为管道名称,若要替换为提交信息或自定义内容,可通过.gitlab-ci.yml的workflow字段全局配置:

workflow:
  # MR触发时,显示MR编号+提交短SHA+提交信息
  name: 'MR #$CI_MERGE_REQUEST_IID: $CI_COMMIT_SHORT_SHA - $CI_COMMIT_MESSAGE'
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    # 针对普通推送的管道,也可以自定义名称
    - if: '$CI_PIPELINE_SOURCE == "push"'
      name: 'Push to $CI_COMMIT_BRANCH: $CI_COMMIT_SHORT_SHA - $CI_COMMIT_MESSAGE'

如果需要自定义单个Job的显示名称(左侧Job列表的名称),直接在.gitlab-ci.yml中定义Job键名即可;若要在Job详情页补充动态信息,可添加description字段:

build-app:
  stage: build
  script:
    - npm run build
  description: 'Build job for commit $CI_COMMIT_SHORT_SHA: $CI_COMMIT_MESSAGE'

2. 修正提交SHA不一致问题

MR触发的管道默认运行在合并后的虚拟分支上,因此显示的SHA是合并后的SHA,而非源分支的提交SHA。若要强制使用源分支的提交SHA,可在workflow中覆盖变量:

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
      variables:
        CI_COMMIT_SHA: "$CI_MERGE_REQUEST_SOURCE_BRANCH_SHA"

后续所有Job中使用的$CI_COMMIT_SHA都会是源分支的提交SHA。

3. 正确获取提交信息的API

你调用GET api/v4/projects/接口返回MR标题是因为该接口返回的是项目基本信息,要获取特定提交的详情,需调用提交信息API:

GET /projects/:id/repository/commits/:sha

将:id替换为你的项目ID,:sha替换为目标提交的SHA,接口会返回该提交的title(提交标题)和message(完整提交信息)。


内容的提问来源于stack exchange,提问作者Freez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 19:35:21