glab(1)

NAME
glab-ci-run - Create or run a new CI/CD pipeline.

SYNOPSIS
glab ci run [flags]

DESCRIPTION
The --branch option is available for all pipeline types.

The options for variables are incompatible with merge request pipelines. If used with merge request pipelines, the command fails with a message like ERROR: if any flags in the group [output output-format] are set none of the others can be

Specify one or more pipeline inputs using the -i or --input flag for each input. Each input flag uses the format key:value.

The values are typed and will default to string unless a type is explicitly specified. To specify a type, use the type(value) syntax. For example, key:string(value) will pass the string value as the input.

Valid types are:

•   string: A string value. This is the default type. For example, key:string(value).

•   int: An integer value. For example, key:int(42).

•   float: A floating-point value. For example, key:float(3.14).

•   bool: A boolean value. For example, key:bool(true).

•   array: An array of strings. For example, key:array(foo,bar).

An array of strings can be specified with a trailing comma. For example, key:array(foo,bar,) will pass the array [foo, bar]. array() specifies an empty array. To pass an array with the empty string, use array(,).

Value arguments containing parentheses should be escaped from the shell with quotes. For example, --input key:array(foo,bar) should be written as --input 'key:array(foo,bar)'.

OPTIONS
-b, --branch=""
    Create pipeline on branch/ref .

-i, --input=[]
    Pass inputs to pipeline in format ':'. Cannot be used for merge request pipelines. See documentation for examples.

--mr[=false]
    Run merge request pipeline instead of branch pipeline.

--variables=[]
    Pass variables to pipeline in format :. Cannot be used for MR pipelines.

--variables-env=[]
    Pass variables to pipeline in format :. Cannot be used for MR pipelines.

--variables-file=[]
    Pass file contents as a file variable to pipeline in format :. Cannot be used for MR pipelines.

-f, --variables-from=""
    JSON file with variables for pipeline execution. Expects array of hashes, each with at least 'key' and 'value'. Cannot be used for MR pipelines.

-w, --web[=false]
    Open pipeline in a browser. Uses default browser, or browser specified in BROWSER environment variable.

OPTIONS INHERITED FROM PARENT COMMANDS
-h, --help[=false]
    Show help for this command.

-R, --repo=""
    Select another repository. Can use either OWNER/REPO or GROUP/NAMESPACE/REPO format. Also accepts full URL or Git URL.

EXAMPLE
    $ glab ci run
    $ glab ci run --variables \"key1:value,with,comma\"
    $ glab ci run -b main
    $ glab ci run --web
    $ glab ci run --mr
    # Specify CI variables
    $ glab ci run -b main --variables-env key1:val1
    $ glab ci run -b main --variables-env key1:val1,key2:val2
    $ glab ci run -b main --variables-env key1:val1 --variables-env key2:val2
    $ glab ci run -b main --variables-file MYKEY:file1 --variables KEY2:some_value
    # Specify CI inputs
    $ glab ci run -b main --input key1:val1 --input key2:val2
    $ glab ci run -b main --input "replicas:int(3)" --input "debug:bool(false)" --input "regions:array(us-east,eu-west)"
    # Load variables from JSON file
    # Create variables.json with this format:
    # [
    #   {
    #     "key": "CI_PIPELINE_SOURCE",
    #     "value": "web",
    #     "variable_type": "env_var"
    #   },
    #   {
    #     "key": "DEPLOY_ENV",
    #     "value": "production"
    #   }
    # ]
    $ glab ci run -b main --variables-from variables.json

SEE ALSO
glab-ci(1)