Python script which will automatically close issues on GitLab for you.
Project description
gitlab-auto-close-issue
This is a simple Python cli script that allows you close issues on GitLab automatically. It is intended to be used during your CI/CD. However you can chose to use it however you wish.
Usage
First you need to create a personal access token, more information here. With the scope api, so it can close the issue for you.
pip install gitlab-auto-close-issue gitlab_auto_close_issue --help Usage: gitlab_auto_close_issue [OPTIONS] GitLab Auto Close Issue Options: --private-token TEXT Private GITLAB token, used to authenticate when calling the auto issue close API. [required] --project-id INTEGER The project ID on GitLab to create the auto close API for. [required] --gitlab-url TEXT The GitLab URL. [required] -i, --issue TEXT The Issue ID to close. [required] -r, --remove-label TEXT The labels to remove from (all) the issue(s) before closing it. --help Show this message and exit.
$ gitlab_auto_close_issue --private-token xxx --project-url https://gitlab.com/hmajid2301/test \ --project-id 14416075 --issue 1 --remove-label bug
GitLab CI
Set a secret variable in your GitLab project with your private token. Name it GITLAB_PRIVATE_TOKEN (CI/CD > Environment Variables). This is necessary to close the issue on your behalf. More information click here. This access token is passed to the script with the --private-token argument. An example CI using this can be found here, look for the close:issue job.
Add the following to your .gitlab-ci.yml file:
stages: - post close:issue: image: registry.gitlab.com/gitlab-automation-toolkit/gitlab-auto-close-issue stage: post before_script: [] script: - gitlab_auto_close_issue --issue 1 --remove-label "Doing" --remove-label "To Do"
Predefined Variables
Please note some of the arguments can be filled in using environment variables defined during GitLab CI. For more information click here <https://docs.gitlab.com/ee/ci/variables/predefined_variables.html>_.
- If --private-token is not set the script will look for the ENV variable GITLAB_PRIVATE_TOKEN
- If --source-branch is not set the script will look for the ENV variable CI_COMMIT_REF_NAME
- If --project-id is not set it will look for for the ENV variable CI_PROJECT_ID
- If --gitlab-url is not set it will look for for the ENV variable CI_PROJECT_URL
- If --user-id is not set it will look for for the ENV variable GITLAB_USER_ID
Setup Development Environment
git clone git@gitlab.com:gitlab-automation-toolkit/gitlab-auto-close-issue.git
cd gitlab-auto-close-issue
pip install tox
make virtualenv
make install-dev
Changelog
You can find the changelog here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for gitlab-auto-close-issue-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9da21de5ce7ade926db4a7e7236b97c7cf1e2616b6badfd79566f0093f3741b7 |
|
MD5 | 528eacb7989b7779d77136da13a3e14d |
|
BLAKE2-256 | 28742b04311bfeb672ba7135784d9351b357836bbd0d9a6c39b84508765568c7 |