A Gitlab release note generator that generates release note on latest tag
Generate release note on the latest tag based on merge requests and issues
Distinguished title with issues or merge requests that have the following labels: enhancement, breaking change, feature and bug
(Note. if an issue or merge request that has 2 or more labels, that issue or merge request will be displayed again under the corresponding title)
Can be integrated as a CD service. Tutorial below
from
date will be the project creation date and the to
date will be that tag's creation date.api
permission. How to Tutorialdocker container run -e GITLAB_PERSONAL_TOKEN=gitlabSampleToken -e GITLAB_PROJECT_ID=12345678 -e TARGET_BRANCH=sampleTargetBranch -e TARGET_TAG_REGEX=sampleRegex 00freezy00/gitlab-release-note-generator
GITLAB_PERSONAL_TOKEN
, GITLAB_PROJECT_ID
, TARGET_BRANCH
(optional. Use it only if you want to find tags in the same specific branch) and TARGET_TAG_REGEX
(optional. Can use it to distinguish master or develop branch version bump) in app/env.js
or feed it in process.env
through npmnpm install
npm start
gitlab personal access token
as a CI variablec/p the .sample.gitlab-ci.yml
to your gitlab ci.
What's included in the sample gitlab CI script
generate-release-note
job. Generates a release note on the tag after detecting tag push with this regex /^[0-9]+.[0-9]+.[0-9]+(-[0-9]+)?$/
tag-after-deployment
job (optional). Tag the commit that contains a version bump with this regex /^[0-9]+.[0-9]+.[0-9]+(-[0-9]+)?$/
. Require ssh key to work.Reference gitlab repo: generator test
These can be specified using environment variables
export GITLAB_PERSONAL_TOKEN=MYGITLABACCESSTOKEN
export GITLAB_PROJECT_ID=99
export GITLAB_API_ENDPOINT=https://my.gitlab.com/api/v4
// run docker to build my local version
docker build -t local-gitlab-release-note-generator .
// run my local version
docker container run \
-e TZ=America/New_York \
-e GITLAB_API_ENDPOINT=$GITLAB_API_ENDPOINT \
-e GITLAB_PERSONAL_TOKEN=$GITLAB_PERSONAL_TOKEN \
-e GITLAB_PROJECT_ID=$GITLAB_PROJECT_ID \
-e TARGET_BRANCH=master \
-e TARGET_TAG_REGEX=^release-.*$ \
local-gitlab-release-note-generator
Thanks to github-changelog-generator for inspiring me to make this app. Sorry, I couldn't wait any longer for that gitlab feature to be merged in.