# gh workflows
A partir de la versión 1.9 tenemos el comando gh workflow
para poder acceder a nuestros github workflows desde la terminal:
✗ gh --version gh version 1.9.1 (2021-04-15) https://github.com/cli/cli/releases/tag/v1.9.1
Copied!
2
3
# gh workflow commands
✗ gh help workflow List, view, and run workflows in GitHub Actions. USAGE gh workflow <command> [flags] CORE COMMANDS disable: Disable a workflow enable: Enable a workflow list: List workflows run: Run a workflow by creating a workflow_dispatch event view: View the summary of a workflow FLAGS -R, --repo [HOST/]OWNER/REPO Select another repository using the [HOST/]OWNER/REPO format INHERITED FLAGS --help Show help for command LEARN MORE Use 'gh <command> <subcommand> --help' for more information about a command. Read the manual at https://cli.github.com/manual
Copied!
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# gh workflow list
➜ please-Daniel-del-Castillo git:(main) ✗ gh workflow list Test active 8116703
Copied!
2
# gh workflow view
➜ please-Daniel-del-Castillo git:(main) ✗ gh workflow view ? Select a workflow Test (test.yaml) Test - test.yaml ID: 8116703 Total runs 21 Recent runs ✓ 1.1.1 Test v1.1.1 push 755714052 ✓ 1.1.1 Test main push 755713933 ✓ Merge branch 'main' of github.com:ULL-ESIT-PL-2021/please-Daniel... Test main push 755346331 ✓ Update README.md Test main push 755342257 ✓ Add a REPL Test main push 755328010 To see more runs for this workflow, try: gh run list --workflow test.yaml To see the YAML for this workflow, try: gh workflow view test.yaml --yaml
Copied!
2
3
4
5
6
7
8
9
10
11
12
13
14
15
➜ please-Daniel-del-Castillo git:(main) ✗ gh workflow view --help View the summary of a workflow USAGE gh workflow view [<workflow-id> | <workflow-name> | <filename>] [flags] FLAGS -r, --ref string The branch or tag name which contains the version of the workflow file you'd like to view -w, --web Open workflow in the browser -y, --yaml View the workflow yaml file INHERITED FLAGS --help Show help for command -R, --repo [HOST/]OWNER/REPO Select another repository using the [HOST/]OWNER/REPO format EXAMPLES # Interactively select a workflow to view $ gh workflow view # View a specific workflow $ gh workflow view 0451 LEARN MORE Use 'gh <command> <subcommand> --help' for more information about a command. Read the manual at https://cli.github.com/manual
Copied!
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# gh workflow run
✗ gh help workflow run Create a workflow_dispatch event for a given workflow. This command will trigger GitHub Actions to run a given workflow file. The given workflow file must support a workflow_dispatch 'on' trigger in order to be run in this way. If the workflow file supports inputs, they can be specified in a few ways: - Interactively - via -f or -F flags - As JSON, via STDIN USAGE gh workflow run [<workflow-id> | <workflow-name>] [flags] FLAGS -F, --field key=value Add a string parameter in key=value format, respecting @ syntax --json Read workflow inputs as JSON via STDIN -f, --raw-field key=value Add a string parameter in key=value format -r, --ref string The branch or tag name which contains the version of the workflow file you'd like to run INHERITED FLAGS --help Show help for command -R, --repo [HOST/]OWNER/REPO Select another repository using the [HOST/]OWNER/REPO format EXAMPLES # Have gh prompt you for what workflow you'd like to run and interactively collect inputs $ gh workflow run # Run the workflow file 'triage.yml' at the remote's default branch $ gh workflow run triage.yml # Run the workflow file 'triage.yml' at a specified ref $ gh workflow run triage.yml --ref my-branch # Run the workflow file 'triage.yml' with command line inputs $ gh workflow run triage.yml -f name=scully -f greeting=hello # Run the workflow file 'triage.yml' with JSON via standard input $ echo '{"name":"scully", "greeting":"hello"}' | gh workflow run triage.yml --json LEARN MORE Use 'gh <command> <subcommand> --help' for more information about a command. Read the manual at https://cli.github.com/manual
Copied!
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Running Manually a Workflow
Set this workflow file:
➜ use-hello-world-javascript-action git:(master) cat .github/workflows/manual.yml
Copied!
name: Manually triggered workflow on: workflow_dispatch: inputs: name: description: 'Person to greet' required: true default: 'Mona the Octocat' home: description: 'location' required: false default: 'The Octoverse' jobs: say_hello: runs-on: ubuntu-latest steps: - run: | echo "Hello ${{ github.event.inputs.name }}!" echo "- in ${{ github.event.inputs.home }}!"
Copied!
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
This example defines the name
and home
inputs and prints them using the github.event.inputs.name
and github.event.inputs.home
contexts. If a home isn't provided, the default value 'The Octoverse'
is printed.
You can use the GitHub API to trigger a webhook event called repository_dispatch
when you want to trigger a workflow for activity that happens outside of GitHub.
For more information, see "Create a repository dispatch event (opens new window)."
To trigger the custom repository_dispatch
webhook event, you must send a POST
request to a GitHub API endpoint and provide an event_type
name to describe the activity type. To trigger a workflow run, you must also configure your workflow to use the repository_dispatch
event.
Now, using gh
we can run it manually:
➜ use-hello-world-javascript-action git:(master) gh workflow run manual.yml -f name="PL at ULL" -f home="La Laguna" ✓ Created workflow_dispatch event for manual.yml at master To see runs for this workflow, try: gh run list --workflow=manual.yml
Copied!
2
3
4
➜ use-hello-world-javascript-action git:(master) gh run list --workflow=manual.yml ✓ .github Manually triggered workflow master workflow_dispatch 758223539 For details on a run, try: gh run view <run-id>
Copied!
2
3
4
➜ use-hello-world-javascript-action git:(master) gh run view 758223539 Refreshing run status every 3 seconds. Press Ctrl+C to quit. ✓ master Manually triggered workflow · 758227829 Triggered via workflow_dispatch less than a minute ago JOBS ✓ say_hello in 1s (ID 2368935232) ✓ Set up job ✓ Run echo "Hello PL at ULL!" ✓ Complete job ✓ Run Manually triggered workflow (758227829) completed with 'success'
Copied!
2
3
4
5
6
7
8
9
10
11
12
13