GitHub Actions ListRuns

GitHub Actions ListRuns

Certified

List workflow runs

Lists GitHub Actions workflow runs of a repository, newest first, with optional filters on workflow, branch, actor, event, status, conclusion and creation date. Use fetchType to return the runs inline (FETCH), only the first one (FETCH_ONE), or write them to Kestra internal storage (STORE, the default). The token needs the actions: read permission.

yaml
type: io.kestra.plugin.github.actions.ListRuns

List the 10 latest failed runs of a workflow on the main branch.

yaml
id: github_actions_list_runs
namespace: company.team

tasks:
  - id: list_runs
    type: io.kestra.plugin.github.actions.ListRuns
    oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    repository: my-org/my-repo
    workflowId: ci.yml
    branch: main
    conclusion: FAILURE
    limit: 10
    fetchType: FETCH

  - id: log_count
    type: io.kestra.plugin.core.log.Log
    message: "Found {{ outputs.list_runs.size }} failed runs"
Properties

Target repository

Repository in owner/repo format.

Actor

Only return runs triggered by this GitHub user.

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 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.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset 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.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150

Branch

Only return runs for this branch.

Possible Values
SUCCESSFAILURECANCELLEDSKIPPEDNEUTRALTIMED_OUTACTION_REQUIREDSTALESTARTUP_FAILURE

Conclusion

Only return runs with this conclusion, for example SUCCESS or FAILURE.

Created

Only return runs created within this date range, using GitHub's date syntax, for example >=2026-10-01 or 2026-10-01..2026-10-15.

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.

Possible Values
PUSHPULL_REQUESTPULL_REQUEST_TARGETWORKFLOW_DISPATCHWORKFLOW_RUNSCHEDULERELEASEREPOSITORY_DISPATCHISSUESISSUE_COMMENTMERGE_GROUPCREATEDELETEFORK

Event

Only return runs triggered by this event, for example PUSH or WORKFLOW_DISPATCH.

DefaultSTORE
Possible Values
STOREFETCHFETCH_ONENONE

Result handling mode

Controls how hits are exposed in outputs; default FETCH returns all hits in the response. FETCH_ONE returns only the first hit, STORE writes hits to Kestra storage and returns a URI, and NONE leaves outputs empty.

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.

Default30

Limit

Maximum number of runs to return, between 1 and 100 (default 30).

GitHub login

GitHub login used with oauthToken for authenticated requests. Leave unset when authenticating with jwtToken or appInstallationToken.

GitHub OAuth token

GitHub personal access token used for authenticated requests. Can be used alone or with login.

Possible Values
QUEUEDIN_PROGRESSCOMPLETEDWAITINGREQUESTEDPENDING

Status

Only return runs with this status, for example QUEUED, IN_PROGRESS or COMPLETED.

Workflow

Only return runs of this workflow, given as its numeric id or its file name such as ci.yml. The filter is applied after fetching, so at most the 500 most recent runs of the repository are examined.

First hit

Available only when fetchType=FETCH_ONE; contains the first hit source.

SubTypeobject

Fetched hits

Available only when fetchType=FETCH; contains hit sources for the current response page.

Returned hit count

Number of hits included in outputs for the selected fetch type.

Total hits reported

Total hits reported by GitHub search, regardless of pagination.

Formaturi

Stored hits URI

Available only when fetchType=STORE; Kestra internal storage path to the Ion file.