使用 GitLab CI 自动生成 Merge Request 描述模板
这是一份示例的 GitLab CI 文件,可以根据不同的 source branch 选择不同的 merge request 描述模板,并在创建 PR 时自动将其贴到描述中。
variables:
SOURCE_BRANCH_TEMPLATE: default
TARGET_BRANCH_TEMPLATE: default
stages:
- build
- test
- deploy
before_script:
- echo 'Setting up environment...'
build:
stage: build
script:
- echo 'Building...'
test:
stage: test
script:
- echo 'Testing...'
deploy:
stage: deploy
script:
- echo 'Deploying...'
only:
- merge_requests
variables:
MR_TEMPLATE: |
{% if $CI_MERGE_REQUEST_SOURCE_BRANCH == 'feature-branch' %}
## Feature Branch PR Template
*Description*: Please provide a brief description of the feature being added.
*Steps*: Please outline the steps taken to implement this feature.
*Testing*: Please describe how this feature has been tested.
{% else %}
## Default PR Template
*Description*: Please provide a brief description of the changes being made.
*Issues*: Please list any related issues.
*Testing*: Please describe how these changes have been tested.
{% endif %}
before_script:
- echo 'Setting up environment for deployment...'
after_script:
- echo 'Cleaning up environment after deployment...'
when: manual
在这个示例中,我们定义了两个模板,一个是默认模板,另一个是用于特定分支的模板。在部署阶段,我们使用了一个变量 MR_TEMPLATE,它会根据 source branch 自动选择合适的模板。如果 source branch 是 feature-branch,则会使用特定分支的模板,否则就使用默认模板。
要注意的是,我们使用了 only: - merge_requests 来确保这个 job 只会在创建 PR 时触发。同时,我们也设置了 when: manual,这意味着这个 job 需要手动触发。
当你创建一个新的 PR 时,这个 job 会自动运行,并根据 source branch 选择合适的模板,并将其贴到 PR 描述中。这样,你就可以更轻松地创建有用的 PR 描述啦!
原文地址: https://www.cveoy.top/t/topic/oHU6 著作权归作者所有。请勿转载和采集!