如何在 GitLab 中的 MR Merge 上添加空提交,以使用触发词推进 Jira Tickets

问题描述 投票:0回答:1

我正在使用 GitLab,并且我正在尝试利用一项功能,其中 Jira 票证 可以根据提交消息中的特定触发词自动移动到不同的进度状态,例如“完成”、“关闭”或“解决” ,例如“解决”、“关闭”或“修复”。我遵循了提交约定,我的初始提交消息如下所示:

git commit -m "JIRA-653-feat: add new feature"

我的目标是确保当合并请求(MR)合并到主分支时,它始终显示诸如“JIRA-1625-feat:添加新功能”之类的提交消息。为了实现这一目标,我决定在 MR 合并到主分支时添加一个空提交。我使用以下命令:

git commit --allow-empty -m "Fixes JIRA-653"

这个空提交应该在合并到主分支时将 Jira 票证的状态提升为“解决”或“修复”。

但是,我遇到两个问题:

  1. 我不知道如何获取我的 GitLab CI/CD 管道中当前 MR 分支的名称。

  2. 我不确定MR合并到主分支时如何触发添加空提交。

这是我在 GitLab CI/CD 管道中定义的作业:

add-empty-commit:
  stage: empty-commit
  script:
    - git config user.name "john.doe"
    - git config user.email "[email protected]"
    - git fetch && git rebase origin/main
    - echo $CI_COMMIT_BRANCH ## does not work in MR
    - git commit --allow-empty -m "Fixes Jira-653"
    - git push "https://project_access_token_name:$GITLAB_API_TOKEN@$CI_SERVER_HOST/$CI_PROJECT_PATH.git" 'HEAD:mc' ## added hardcode branch name(mc).
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'

我已经创建了一个 GitLab 访问令牌,可以从 CI/CD 管道对存储库进行写入访问。

有人可以帮我解决这两个问题吗?


git gitlab jira
1个回答
0
投票

源分支名称可以从合并请求事件中的变量

CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
获取,参见https://docs.gitlab.com/ee/ci/variables/predefined_variables.html

需要从“设置”-“合并请求”-“合并选项”启用合并结果管道,这是一项高级功能。请参阅 https://docs.gitlab.com/ee/ci/pipelines/merged_results_pipelines.html 了解更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.