You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
continuous-integration/drone/push Build is passing
Details
|
10 months ago | |
---|---|---|
docker | 10 months ago | |
plugin | 10 months ago | |
scripts | 10 months ago | |
.drone.yml | 10 months ago | |
.drone.yml.multiarch | 10 months ago | |
.gitignore | 10 months ago | |
LICENSE.md | 10 months ago | |
README.md | 10 months ago | |
go.mod | 10 months ago | |
go.sum | 10 months ago | |
main.go | 10 months ago |
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_dispatch
eventcancel
: 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