Step inputs reference
Step inputs are environment items that tell the Bitrise CLI how to run a given Step. The inputs of a Step are defined in the step.yml
file of every Step by setting the inputs
property..
Step inputs are environment items that tell the Bitrise CLI how to run a given Step. The inputs of a Step are defined in the step.yml
file of every Step by setting the inputs
property..
Step inputs have the same syntax as every environment property. It consists of two main parts: a KEY: value
pair and an opts
field.
inputs: - my_key_for_the_env: "default value" opts: title: An example env var item is_dont_change_value: false category: example
-
my_key_for_the_env
: the key of the input (required). -
default value
: the default value of the input. You don’t always have to provide a default value. -
opts
: optional properties.
Step input properties
The available properties for Step inputs:
-
title
,summary
anddescription
: metadata, for comments, tools and GUI.Meta properties as permanent comments
These meta properties can be used for permanent comments. Standard YML comments are not preserved when the YML is normalized, converted to JSON or otherwise generated or transformed. These meta properties are.
-
is_expand
: can be set totrue
orfalse
. The default value istrue
so the Bitrise CLI expands Environment Variables (Env Vars) before passing it on to the Step. That means that if a Step input's value is an Env Var, the Bitrise CLI will pass the variable's value to the Step. If set tofalse
, the CLI will pass the Env Var's key as a string. -
skip_if_empty
: can be set totrue
orfalse
. If set totrue
, the input will not be used if its value is empty. -
category
: used to categorize the input. Inputs with the samecategory
will appear grouped under one menu on the website UI, for the sake of convenience. -
value_options
: list of the available values. -
is_required
: can be set totrue
orfalse
. If set totrue
, the step requires a non-empty value to be set for the input. -
is_dont_change_value
: can be set totrue
orfalse
. If set totrue
, the value of the input should not be changed and/or should be hidden on UIs. Mainly used for debug inputs and for “connection” inputs (set to outputs of other Steps, to connect this Step with another one). -
is_template
: can be set totrue
orfalse
. If set totrue
,
the input’s value will be evaulated as a Go template.
-
is_sensitive
: marking an input as sensitive means that it will only accept a Secret Environment Variable as its value. It is most frequently used for sensitive information such as passwords, API keys, tokens, but any input can be marked sensitive.
Using template expressions for Step inputs
If you need a Step to use a certain value only in certain circumstances, use template expressions as Step inputs. Template expressions are evaluated before the Step uses the input. They are written in Go’s template language.
Set the is_template
property in the step.yml
file of your project to use template expressions.
-
Open the
step.yml
file of your project. -
Find the Step in which you wish to use a template expression.
-
Add an
opts
field to thecontent
of the Step. -
Add the
is_template
property toopts
and set its value totrue
. -
Add the template expression to the Step’s
content
.
- script: title: Template example inputs: - content: |- {{if .IsCI}} echo "CI mode" {{else}} echo "not CI mode" {{end}} opts: is_template: true