Skip to content

Gitlab Releases Datasource

Table of values

Name Value Notes
Identifier gitlab-releases
Default versioning No default versioning
Custom registry support Yes
Release timestamp support Yes The release timestamp is determined from the released_at field in the results.
Source URL support Yes The source URL is determined by using the packageName and registryUrl.

Description

GitLab Releases API supports looking up releases supported by GitLab and can be used in combination with regex managers to keep dependencies up-to-date which are not specifically supported by Renovate.

To specify which specific repository should be queried when looking up a package, the packageName should be set to the project path.

As an example, gitlab-org/ci-cd/package-stage/feature-testing/new-packages-list would look for releases in the gitlab-org/ci-cd/package-stage/feature-testing/new-packages-list project.

To specify where to find a self-hosted GitLab instance, specify registryUrl. An example would be https://gitlab.company.com.

Please note the following requirements:

  • This datasource requires at least GitLab 11.7

Usage Example

A real-world example for this specific datasource would be maintaining package versions in a config file. This can be achieved by configuring a custom manager in renovate.json for files named versions.ini:

{
  "customManagers": [
    {
      "customType": "regex",
      "fileMatch": ["^versions.ini$"],
      "matchStrings": [
        "# renovate: datasource=(?<datasource>.*?) depName=(?<depName>.*?)( versioning=(?<versioning>.*?))?( registryUrl=(?<registryUrl>.*?))?\\s.*?_VERSION=(?<currentValue>.*)\\s"
      ],
      "versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}"
    }
  ]
}

Now you may use comments in your versions.ini files to automatically update dependencies, which could look like this:

# renovate: datasource=gitlab-releases depName=gitlab-org/ci-cd/package-stage/feature-testing/new-packages-list versioning=semver registryUrl=https://gitlab.com
NKJS_VERSION=3.4.0

By default, gitlab-releases uses the semver-coerced versioning scheme.