A simple plugin to control GitHub workflows
				
			
		| 
				 
		
			All checks were successful
		
		
	 
	continuous-integration/drone/push Build is passing 
				
			 | 
			||
|---|---|---|
| docker | ||
| plugin | ||
| scripts | ||
| .drone.yml | ||
| .drone.yml.multiarch | ||
| .gitignore | ||
| go.mod | ||
| go.sum | ||
| LICENSE.md | ||
| main.go | ||
| README.md | ||
A plugin to control GitHub workflows.
Usage
The following settings change this plugin's behavior.
- github_token (required, secret recommended) GitHub authentication token.
 - github_repo (required) the repo to act on.
 - workflow_id (required) the workflow to act on, eg 
workflow.yml. - workflow_actions (required) the actions to execute, one or more (separated by 
,) of:start: starts the workflow by creating aworkflow_dispatcheventcancel: cancels all queued and running workflowsdelete: deletes all completed workflow runs
 
Below is an example .drone.yml that uses this plugin.
kind: pipeline
name: default
steps:
- name: create workflow_dispatch event
  image: itsblue.dev/plugins/github-workflow-controller
  settings:
    github_token:
      from_secret: github-token
    github_repo: "foo/bar"
    workflow_id: "workflow.yml"
    workflow_actions: start
Building
Build the plugin binary:
scripts/build.sh
Build the plugin image:
docker build -t itsblue.dev/plugins/github-workflow-controller -f docker/Dockerfile .
Testing
Execute the plugin from your current working directory:
docker run --rm -e PLUGIN_PARAM1=foo -e PLUGIN_PARAM2=bar \
  -e PLUGIN_GITHUB_TOKEN=8f51ad7884c5eb69c11d260a31da7a745e6b78e2 \
  -e PLUGIN_GITHUB_REPO=foo/bar \
  -e PLUGIN_WORKFLOW_ID="workflow.yml" \
  -e PLUGIN_WORKFLOW_ACTIONS="cancel,delete" \
  itsblue.dev/plugins/github-workflow-controller