我正在使用GitLab,我正试图利用一个功能
Jira ticket
可以根据提交消息中的特定触发词,如“Resolves”、“Closes”或“Fixes”,自动移动到不同的进度状态,如“done”、“close”或“resolve”。我遵循了提交约定,我的初始提交消息如下所示:
git commit -m "JIRA-653-feat: add new feature"
我的目标是确保当合并请求(MR)合并到主分支时,它总是显示提交消息,如“JIRA-1625-feat:add new feature”。为了实现这一点,我决定在MR合并到主支路时添加一个空提交。我使用以下命令:
git commit --allow-empty -m "Fixes JIRA-653"
这个想法是,当Jira票证合并到主分支中时,这个空提交应该将其状态提升为“Resolves”或“Fixes”。
然而,我遇到了两个问题:
-
我不知道如何在我的GitLab CI/CD管道中获得当前MR分支的名称。
-
当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管道对存储库进行写访问。
有人能帮我解决这两个问题吗?