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 |
|
BLAKE2b-256 | 28742b04311bfeb672ba7135784d9351b357836bbd0d9a6c39b84508765568c7 |