Variables and parameters can be used on GitHub workflows in order to provide input and store temporary values that should be passed on tasks. When you need to ask for user input one should use the parameters and when that is not necessary variables is the preferred way to go.
We will now examine how we can use both in a github workflow.
You can define an input parameter using the inputs keyword. Using the code below you can run a workflow manually. The input that is requested is a string and the description is the message that will be shown to the user.
# Allows you to run this workflow manually from the Actions tab workflow_dispatch: inputs: username: description: "give me your username" default: "geralexgr" type: "string"
Then later in the workflow you can use the value of the input using inputs.username
The below job will show the input of the user:
job1: runs-on: ubuntu-latest steps: - name: task inside job1 run: | echo The username is ${{ inputs.username }}
Variables on the other hand can be used during runtime. Similar to using default environment variables, you can use custom environment variables in your workflow actions. To create a custom variable, you need to define it in your workflow file using the env
context.
- name: print variable env: NAME: "Gerasimos" run: | echo Variable name is: $NAME
During workflow run the variable will be printed on the output.
Youtube tutorial: