GitHub Action
This responder triggers workflow run on a GitHub Action using the GitHub API. Optionally if the call is successful (not the result of the workflow run but the call to trigger it) a reply message can be posted as a comment in the issue. Allows labeling.
Listens to
@botname <command>
For example, if you configure the command to be compile pdf, it will respond to:
@botname compile pdf
Requirements
Some parameters are required for the responder to work: the command
to invoke it, and the workflow_repo
and workflow_name
values to identify the action to run. All can be set using the settings YAML file.
Settings key
github_action
Params
- command:
Required. The command this responder will listen to.
- description:
The description of the action this command runs. It will show in the help command if the responder is not hidden.
- example_invocation:
Optional String to show as an example of the command being used when the help command is invoked.
- workflow_repo:
Required. The repo to run the action on, in org/name format.
- workflow_name:
Required. Name of the workflow to run.
- workflow_ref:
Optional. The git ref for the GitHub action to use. Defaults to main.
- message:
An optional message to reply with once the workflow is triggered.
- inputs:
<Map> An optional list of params/values to pass as inputs to the GitHub Action.
- data_from_issue:
<Array> An optional list of fields from the body of the issue to pass as inputs to the GitHub Action.
- mapping:
<Map> An optional mapping of variable names to add to the inputs.
You can use this action to run other responder(s) after after the GitHub action is triggered:
- run_responder:
Allows to call a different responder. Subparams are:
- responder_key:
Required. The key to find the responder in the config file.
- responder_name:
Optional. The name of the responder in the config file if there are several instances under the same responder key.
- message:
Optional. The message to trigger the responder with.
If you want to run multiple responders, use an array of these subparams.
Examples
A complete example:
...
github_action:
only: editors
command: compile pdf
description: Generates a PDF based on the paper.md file in the repository
workflow_repo: openjournals/reviews
workflow_name: compile-pdf.yml
inputs:
file: paper.md
data-from-issue:
- branch
- target_repository
mapping:
repository: target_repository
number: issue_id
...
Once the responder is invoked it triggers the compile-pdf.yml workflow on the openjournals/reviews repository passing to it the file, repository, branch and number inputs.