
GitHub Actions RunWorkflow
CertifiedDispatch a workflow run
GitHub Actions RunWorkflow
Dispatch a workflow run
Triggers a workflow_dispatch event for a workflow in the target repository. The authenticated token must be allowed to read the repository and run workflows on the selected ref. Outputs the id and URL of the created run. With wait: true, polls until the run completes and fails the task when the conclusion is not success. The run id comes from the dispatch response (return_run_details). When GitHub does not return it (older GitHub Enterprise Server), the created run is detected as the newest workflow_dispatch run of this workflow on the ref, so two executions dispatching the same workflow and ref at the same moment can report each other's run.
type: io.kestra.plugin.github.actions.RunWorkflowExamples
Trigger a GitHub Action workflow manually.
id: run_github_action_workflow_flow
namespace: company.team
tasks:
- id: run_workflow
type: io.kestra.plugin.github.actions.RunWorkflow
oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
repository: your_owner/your_repository
workflowId: your_workflow_id
ref: your_branch_or_tag_name
inputs:
foo:bar
Run a workflow and wait for the result.
id: github_actions_run_and_wait
namespace: company.team
tasks:
- id: run_workflow
type: io.kestra.plugin.github.actions.RunWorkflow
oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
repository: my-org/my-repo
workflowId: ci.yml
ref: main
wait: true
waitTimeout: PT30M
- id: log_result
type: io.kestra.plugin.core.log.Log
message: "Run {{ outputs.run_workflow.runId }} ended with {{ outputs.run_workflow.conclusion }}: {{ outputs.run_workflow.htmlUrl }}"
Properties
appInstallationToken string
GitHub App installation token
Installation access token generated by a GitHub App. Use this for repository-scoped app access instead of a user token.
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150cancelOnTimeout booleanstring
falseCancel the run on timeout
When true, cancels the GitHub run if the wait timeout is reached.
endpoint string
GitHub API endpoint
GitHub or GitHub Enterprise API base URL such as https://api.github.com or https://ghe.acme.com/api/v3. Set this when targeting GitHub Enterprise or a non-default API endpoint.
failOnConclusion booleanstring
trueFail on unsuccessful conclusion
When true (default), the task fails if the finished run's conclusion is not success, which includes skipped and neutral. Only used when wait is true.
inputs object
Workflow inputs map
Key/value payload passed to workflow inputs. Property values are rendered before the dispatch request is sent
jwtToken string
GitHub JWT token
GitHub App JWT used for app-level authentication. Use this when the task should authenticate as the app rather than a user.
login string
GitHub login
GitHub login used with oauthToken for authenticated requests. Leave unset when authenticating with jwtToken or appInstallationToken.
oauthToken string
GitHub OAuth token
GitHub personal access token used for authenticated requests. Can be used alone or with login.
pollInterval string
PT5SPoll interval
Delay between two status checks when wait is true.
ref string
Workflow ref
Branch or tag name used to resolve the workflow file. This ref must exist in the target repository.
repository string
Target repository
Repository in owner/repo format containing the workflow. The authenticated token must have access to this repository.
wait booleanstring
falseWait for completion
When true, looks for the created run for up to 30 seconds, then polls it until it is completed. When false (default), the task looks for the run once right after the dispatch and returns; the run outputs are empty if GitHub has not registered the run yet.
waitTimeout string
PT1HWait timeout
Maximum time to wait for the run to complete when wait is true. Separate from the task-level timeout, which stops the task on the worker.
workflowId string
Workflow ID or filename
Workflow identifier accepted by the GitHub API such as a numeric ID or a workflow filename like build.yml
Outputs
conclusion string
Run conclusion
Conclusion of the run such as success or failure. Only set when the run is completed.
htmlUrl string
Run URL
URL of the workflow run on GitHub.
runId integer
Run ID
Id of the workflow run created by the dispatch. Empty if the run could not be found.
status string
Run status
Status of the run when the task ended, for example queued, in_progress or completed.