Gitlab Tag

kind: gitlab/tag

sourceconditiontarget

Description

The Gitlab "tag" plugin allows to manipulate Gitlab repository tags.

source

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

condition

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

target

Target is not supported, feel free to manifest your interest by opening an issue on updatecil/updatecli/issues, or highlighting an existing one.

Parameters

NameTypeDescriptionRequired
ownerstring[S][C] Owner specifies repository owner
repositorystring[S][C] Repository specifies the name of a repository for a specific owner
tagstring[S] Tag defines the GitLab tag .
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 GITHUB_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][C] 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
    strictbooleanstrict enforce strict versioning rule. Only used for semantic versioning at this time

Example

# updatecli.yaml
name: "Show Gitlab tag usage"

sources:
  default:
    name: "Get tag using versionfilter from a Gitlab repository"
    kind: "gitlab/tag"
    spec:
      # Default to gitlab.com
      # url: "gitlab.com"
      owner: "olblak"
      repository: "updatecli-test"
      versionfilter:
        kind: "semver"
        pattern: "~0.0"

  latest:
    name: "Get latest tag tag from a Gitlab repository"
    kind: "gitlab/tag"
    spec:
      # Default to gitlab.com
      # url: "gitlab.com"
      owner: "olblak"
      repository: "updatecli-test"

conditions:
  default:
    name: "Test tag '0.0.2' exist on the Gitlab repository"
    kind: "gitlab/tag"
    disablesourceinput: true
    spec:
      # Default to gitlab.com
      # url: "gitlab.com"
      owner: "olblak"
      repository: "updatecli"
      tag: "v0.2.0"

  sourcedefault:
    name: "Test that the tag retrieved from source 'default' exist on the Gitlab repository"
    kind: "gitlab/tag"
    sourceid: "default"
    spec:
      # Default to gitlab.com
      # url: "gitlab.com"
      owner: "olblak"
      repository: "updatecli"

  latest:
    name: "Test that the tag retrieved from source 'latest' exist on the Gitlab repository"
    kind: "gitlab/tag"
    sourceid: "latest"
    spec:
      # Default to gitlab.com
      # url: "gitlab.com"
      owner: "olblak"
      repository: "updatecli"

Top