English | 中文
Find changes between given versions by analyzing merge requests.
Only work for Gitlab MRs.
This tool works on Gitlab APIs. Make sure your gitlab project visibility is public, OR generate a private-token
(see Gitlab docs) for your project.
The project ID is required for Gitlab APIs to work. You can find it from your project home page:
It is recommended to use docker image(mr-tracker) in CI Pipeline to automatically generate changelog in your workflow.
Docker image mamaship/mr-tracker:latest
makes the command MR-Tracker
available for CI jobs.
.gitlab-ci.yml
Example:
gen-changelog:
image: mamaship/mr-tracker:latest
rules:
- if: $CI_COMMIT_TAG
script:
- MR-Tracker -site YOUR_GITLAB_DOMAIN -project YOUR_PROJECT_ID -token YOUR_TOKEN -latest $CI_COMMIT_TAG -post
If you have golang environment, install by command:
go install github.com/MamaShip/MR-Tracker@latest
Or you can download the executable file from release page. And put it in your PATH
(or run it directly).
The project ID
must be set by -project
flag for program to run.
Type MR-Tracker -h
to see detail instructions.
Basic options:
options | input type | description |
---|---|---|
-h |
Print help info | |
-v |
Print version | |
-project |
int | Set your project ID |
-site |
string | Set your Gitlab URL (default: gitlab.com ) |
-start |
string | Set the tag to start analyze |
-end |
string | Set the tag to stop analyze |
-output |
string | Set the output file to save the changes in markdown format |
-simple |
If this flag is set, the markdown output will be simplified |
example:
MR-Tracker -project 278964 -start v14.10.0-ee -end v14.10.1-ee -output changes.md
Additional options:
options | input type | description |
---|---|---|
-token * |
string | Set your Gitlab API token for the project. This is essential for non-public repos. |
-post |
If this flag is set, result will be posted as gitlab issue. The Gitlab API token is needed for authentication. |
|
-latest |
string | Given a version tag, changes of latest formal version(Semantic Version) will be analyzed.(ignoring pre-release & build identifier) |
-branch |
string | MR-Tracker automatically analysis MRs on default branch. If you wanna track changes on other branches, set it by this option. |
*You can use environment variables to store the private token:
export MR_TRACKER_TOKEN=XXXXXXXX
MR-Tracker will read MR_TRACKER_TOKEN
from ENV
if available.