gitlab-mr-require-checkboxes
v1.2.1
Published
`gitlab-mr-require-checkboxes` is CLI to require checkboxes in GitLab MR description to be checked
Downloads
13
Maintainers
Readme
gitlab-mr-require-checkboxes
[CLI] Require checkboxes in GitLab MR description to be checked
A simple CLI tool to check that all checkboxes in a merge request description are checked is designed as follows:
- Fetch Merge Request Data: The tool connects to the Git repository hosting service (e.g., GitHub, GitLab) and retrieves the merge request description.
- Parse Checkboxes: It parses the description to identify all checkboxes.
- Check Checkbox Status: It verifies that all checkboxes are marked as checked.
- Exit with status code 1 if there are non ticked checkboxes.
Related links:
- How Can We Check All Checkbox Are Checked in Gitlab Merge Request Template
- Can I require a "sign-off" checkbox to be checked before a merge can be done?
The cli uses environment variables to pass settings:
GITLAB_API_TOKEN
- this one you need to create, it's used to access gitlab APICI_PROJECT_ID
,CI_MERGE_REQUEST_IID
,CI_SERVER_URL
are passed to pipeline by Gitlab
How to use in ci config:
# Define GITLAB_API_TOKEN on the job/project level
check-mr-description:
image: 'some-image-with-npx'
stage: install
env
only:
- merge_requests
script:
- npx -y gitlab-mr-require-checkboxes@latest check
Extra configuration
You can mark part of checkboxes as required (by default it's applicable to the whole description) with wrapping them into wrappers:
<!-- required-checkboxes-start -->
- [x] required 1
- [ ] required 2
<!-- required-checkboxes-end -->
- [x] optional 1
- [ ] optional 2
Wrapper can be used multiple times.
Note
It will add MR note with a fail message as well. If you want to customize message - set NOTE_ERROR_MESSAGE
environment variable. It you don't need it - put it to ""
(empty string)