Gitlab Release

kind: gitlab/release

sourceconditiontarget

Description

The Gitlab "release" plugin allows to manipulate Gitlab releases.

source

When used as a "source", the Gitlab release plugin allows to get a Gitlab Release tag according the version filter rule provided.

condition

When used as a "condition". the Gitlab release plugin allows to test that specific Gitlab Release tag exist.

target

When used a "target", the Gitlab release plugin Using the gitlab/release as a "target" ensures that a Gitlab release exists.

Parameters

NameTypeDescriptionRequired
commitishstring[T] Commitish defines the commit-ish such as main
descriptionstring[T] Description defines if the new release description
draftboolean[T] Draft defines if the release is a draft release
ownerstring[S][C][T] Owner specifies repository owner
prereleaseboolean[T] Prerelease defines if the release is a pre-release release
repositorystring[S][C][T]Repository specifies the name of a repository for a specific owner
tagstring[C][T] Tag defines the GitLab release tag.
titlestring[T] Title defines the GitLab release title.
tokenstring

“token” defines the credential used to authenticate with GitLab

remark: A token is a sensitive information, it’s recommended to not set this value directly in the configuration file but to use an environment variable or a SOPS file.

The value can be set to {{ requiredEnv "GITLAB_TOKEN"}} to retrieve the token from the environment variable GITLAB_TOKEN or {{ .gitlab.token }} to retrieve the token from a SOPS file.

 For more information, about a SOPS file, please refer to the following documentation:

https://github.com/getsops/sops

urlstring

“url” defines the GitLab url to interact with

default: “gitlab.com”

usernamestring“username” defines the username used to authenticate with GitLab
versionfilterobject[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.
kindstringspecifies the version kind such as semver, regex, or latest
patternstringspecifies the version pattern according the version kind for semver, it is a semver constraint for regex, it is a regex pattern for time, it is a date format
regexstringspecifies the regex pattern, used for regex/semver and regex/time. Output of the first capture group will be used.
replaceallobjectreplaceAll applies a regex replacement to version strings before filtering. This is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction.
strictbooleanstrict enforce strict versioning rule. Only used for semantic versioning at this time

Example

# updatecli.yaml
name: Show Gitlab release usage
sources:
 default:
 name: Retrieve latest release matching versionfilter rule
 kind: gitlab/release
 spec:
 # url default to gitlab.com if unset
 # url: "gitlab.com"
 owner: olblak
 repository: updatecli
 versionfilter:
 kind: semver
 pattern: "~0"
conditions:
 default:
 name: Test that release "0.0.2" exist
 kind: gitlab/release
 spec:
 # url default to gitlab.com if unset
 # url: "gitlab.com"
 owner: olblak
 repository: updatecli
 tag: "0.2.0"
 sourcedefault:
 name: Test that release retrieved from source 'default' exist
 kind: gitlab/release
 sourceid: default
 spec:
 # url default to gitlab.com if unset
 # url: "gitlab.com"
 owner: olblak
 repository: updatecli
targets:
 default:
 name: "Ensure release 0.0.1 from branch main exist"
 kind: gitlab/release
 spec:
 # url default to gitlab.com if unset
 # url: "gitlab.com"
 owner: olblak
 repository: updatecli
 commitish: main
 token: xxx
 tag: "0.0.1"
 sourcedefault:
 name: "Ensure release where tag is retrieved from source 'default' from branch main exist"
 kind: gitlab/release
 sourceid: default
 spec:
 # url default to gitlab.com if unset
 # url: "gitlab.com"
 owner: olblak
 repository: updatecli-test
 token: xxx
 commitish: main
Top

AltStyle によって変換されたページ (->オリジナル) /