Skip to content

Plugin: provider-gitlab

Publishes releases to GitLab. It supports GitLab.com and self-hosted GitLab instances through a configurable base URL.

Terminal window
semrel plugin install @semrel/provider-gitlab

semrel plugin install downloads the binary to .semrel/plugins/ and updates .semrel.lock. Commit .semrel.lock to pin the version for your team.

Pre-built, signed multi-platform images (linux/amd64, linux/arm64) are published on every release:

Terminal window
docker pull ghcr.io/semrels/provider-gitlab:latest

Verify the image signature with cosign:

Terminal window
cosign verify ghcr.io/semrels/provider-gitlab:latest \
--certificate-identity-regexp 'https://github.com/SemRels/provider-gitlab/.github/workflows/release.yml.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
version: 1
plugins:
- uses: @semrel/provider-gitlab
args:
# token is read from SEMREL_PLUGIN_TOKEN env var
base_url: 'https://gitlab.com'
project_id: 12345678
milestone: v1.4.0
NameRequiredDefaultDescription
SEMREL_PLUGIN_TOKENyesGitLab token used to create the release.
SEMREL_PLUGIN_BASE_URLnohttps://gitlab.comBase URL for the GitLab instance.
SEMREL_PLUGIN_PROJECT_IDnocurrent projectNumeric or URL-encoded project identifier.
SEMREL_PLUGIN_MILESTONEnoOptional milestone to associate with the release.
  • SEMREL_TAG_NAME
  • SEMREL_NEXT_VERSION
  • SEMREL_CURRENT_VERSION
  • SEMREL_CHANGELOG
  • SEMREL_DRY_RUN

For v1.4.0, the provider can create a GitLab release tied to the tag, attach the changelog text, and link the configured milestone.