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 a `workflow_dispatch` event * `cancel`: cancels all queued and running workflows * `delete`: deletes all completed workflow runs Below is an example `.drone.yml` that uses this plugin. ```yaml 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: ```text scripts/build.sh ``` Build the plugin image: ```text docker build -t itsblue.dev/plugins/github-workflow-controller -f docker/Dockerfile . ``` # Testing Execute the plugin from your current working directory: ```text 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 ```