All Projects → benc-uk → Workflow Dispatch

benc-uk / Workflow Dispatch

Licence: mit
A GitHub Action for triggering workflows, using the `workflow_dispatch` event

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Workflow Dispatch

Stacker Cli
Docker Compose Templates
Stars: ✭ 61 (-15.28%)
Mutual labels:  devops
Webterminal
ssh rdp vnc telnet sftp bastion/jump web putty xshell terminal jumpserver audit realtime monitor rz/sz 堡垒机 云桌面 linux devops sftp websocket file management rz/sz otp 自动化运维 审计 录像 文件管理 sftp上传 实时监控 录像回放 网页版rz/sz上传下载/动态口令 django
Stars: ✭ 1,124 (+1461.11%)
Mutual labels:  devops
Shell Operator
Shell-operator is a tool for running event-driven scripts in a Kubernetes cluster
Stars: ✭ 1,146 (+1491.67%)
Mutual labels:  devops
Stonic
Stonic Application
Stars: ✭ 61 (-15.28%)
Mutual labels:  devops
Variable Injector
Continuous Integration Tool for Swift Projects
Stars: ✭ 63 (-12.5%)
Mutual labels:  devops
Roll
AWS Blue/Green deployment using Clojure flavoured devops
Stars: ✭ 66 (-8.33%)
Mutual labels:  devops
Flow Core X
Powerful and user-friendly CI / CD server with high availability, parallel build, agent scaling
Stars: ✭ 1,108 (+1438.89%)
Mutual labels:  devops
Sceptre
Build better AWS infrastructure
Stars: ✭ 1,160 (+1511.11%)
Mutual labels:  devops
Terraform Modules
Reusable Terraform modules
Stars: ✭ 63 (-12.5%)
Mutual labels:  devops
Citrix Adc Metrics Exporter
Export metrics from Citrix ADC (NetScaler) to Prometheus
Stars: ✭ 67 (-6.94%)
Mutual labels:  devops
Logvac
Simple, lightweight, api-driven log aggregation service with realtime push capabilities and historical persistence.
Stars: ✭ 61 (-15.28%)
Mutual labels:  devops
Aiops platform
An Artificial Intelligence Platform for IT Operations.
Stars: ✭ 63 (-12.5%)
Mutual labels:  devops
Docker Examples
There are many like it, but this one is mine.
Stars: ✭ 66 (-8.33%)
Mutual labels:  devops
Ansible Playbook
Ansible playbook to deploy distributed technologies
Stars: ✭ 61 (-15.28%)
Mutual labels:  devops
Module Security Public
The public documentation for the gruntwork-io/module-security repo, which contains packages for setting up best practices for managing secrets, credentials, and servers
Stars: ✭ 67 (-6.94%)
Mutual labels:  devops
Python Devops
gathers Python stack for DevOps, these are usually my basic templates use for my implementations, so, feel free to use it and evolve it! Everything is Docker!
Stars: ✭ 61 (-15.28%)
Mutual labels:  devops
Catapult
💥 Catapult is a DevOps website management platform for development teams.
Stars: ✭ 64 (-11.11%)
Mutual labels:  devops
Saltstackcheatsheet
SaltStack Cheat Sheet
Stars: ✭ 70 (-2.78%)
Mutual labels:  devops
Awesome Cloud Native
A curated list for awesome cloud native tools, software and tutorials. - https://jimmysong.io/awesome-cloud-native/
Stars: ✭ 1,157 (+1506.94%)
Mutual labels:  devops
Lynis
Lynis - Security auditing tool for Linux, macOS, and UNIX-based systems. Assists with compliance testing (HIPAA/ISO27001/PCI DSS) and system hardening. Agentless, and installation optional.
Stars: ✭ 9,137 (+12590.28%)
Mutual labels:  devops

GitHub Action for Dispatching Workflows

This action triggers another GitHub Actions workflow, using the workflow_dispatch event.
The workflow must be configured for this event type e.g. on: [workflow_dispatch]

This allows you to chain workflows, the classic use case is have a CI build workflow, trigger a CD release/deploy workflow when it completes. Allowing you to maintain separate workflows for CI and CD, and pass data between them as required.

For details of the workflow_dispatch even see this blog post introducing this type of trigger

Note 1. The GitHub UI will report flows triggered by this action as "manually triggered" even though they have been run programmatically via another workflow and the API

Note 2. If you want to reference the target workflow by ID, you will need to list them with the following REST API call curl https://api.github.com/repos/{{owner}}/{{repo}}/actions/workflows -H "Authorization: token {{pat-token}}"

Inputs

workflow

Required. The name or ID of the workflow to trigger and run. This is the name declared in the YAML, not the filename

token

Required. A GitHub access token (PAT) with write access to the repo in question. NOTE. The automatically provided token e.g. ${{ secrets.GITHUB_TOKEN }} can not be used, GitHub prevents this token from being able to fire the workflow_dispatch and repository_dispatch event. The reasons are explained in the docs.

The solution is to manually create a PAT and store it as a secret e.g. ${{ secrets.PERSONAL_TOKEN }}

inputs

Optional. The inputs to pass to the workflow (if any are configured), this must be a JSON encoded string, e.g. { "myInput": "foobar" }

ref

Optional. The Git reference used with the triggered workflow run. The reference can be a branch, tag, or a commit SHA. If omitted the context ref of the triggering workflow is used. If you want to trigger on pull requests and run the target workflow in the context of the pull request branch, set the ref to ${{ github.event.pull_request.head.ref }}

repo

Optional. The default behavior is to trigger workflows in the same repo as the triggering workflow, if you wish to trigger in another GitHub repo "externally", then provide the owner + repo name with slash between them e.g. microsoft/vscode

Outputs

None

Example usage

- name: Invoke workflow without inputs
  uses: benc-uk/[email protected]
  with:
    workflow: My Workflow
    token: ${{ secrets.PERSONAL_TOKEN }}
- name: Invoke workflow with inputs
  uses: benc-uk/[email protected]
  with:
    workflow: Another Workflow
    token: ${{ secrets.PERSONAL_TOKEN }}
    inputs: '{ "message": "blah blah", "debug": true }'
- name: Invoke workflow in another repo with inputs
  uses: benc-uk/[email protected]
  with:
    workflow: Some Workflow
    repo: benc-uk/example
    token: ${{ secrets.PERSONAL_TOKEN }}
    inputs: '{ "message": "blah blah", "debug": true }'
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].