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",
"managerFilePatterns": ["/^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.