GitHub Pull Requests Search

GitHub Pull Requests Search

Certified

Search pull requests

Runs a GitHub pull request search and writes matching pull request metadata to Kestra internal storage. Anonymous execution cannot reach private repositories and may omit fields, and authenticated runs default to CREATED sorted in ascending order.

yaml
type: io.kestra.plugin.github.pulls.Search

Search for pull requests in a repository.

yaml
id: github_pulls_search_flow
namespace: company.team

tasks:
  - id: search_pull_requests
    type: io.kestra.plugin.github.pulls.Search
    oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    query: "repo:kestra-io/plugin-github is:open"

Search for open pull requests in a repository.

yaml
id: github_pulls_search_flow
namespace: company.team

tasks:
  - id: search_open_pull_requests
    type: io.kestra.plugin.github.pulls.Search
    oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    repository: kestra-io/plugin-github
    open: TRUE
Properties

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

Pull requests assigned to user

Uses the assignee: qualifier for the given GitHub login

Author username

Adds the author: qualifier for the given GitHub user or app

Base branch filter

Adds the base: qualifier for the target branch name

Filter to closed pull requests

Adds the is: closed qualifier when set to true

Filter by closed date

Supports >, <, and range syntax (..) with ISO-8601 dates

Filter by commit SHA

Matches pull requests by commit SHA and requires at least seven characters

Filter by created date

Supports >, <, and range syntax (..) with ISO-8601 dates

Only pull requests created by the caller

Adds author: @me. This option requires authenticated execution

Filter to draft pull requests

Adds the is: draft qualifier when set to true

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.

DefaultSTORE
Possible Values
STOREFETCHFETCH_ONENONE

Result handling mode

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

Head branch filter

Adds the head: qualifier for the source branch name

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.

GitHub login

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

Mentioned user

GitHub login to use with the mentions: qualifier

Filter to merged pull requests

Adds the is: merged qualifier when set to true

GitHub OAuth token

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

Filter to open pull requests

Adds the is: open qualifier when set to true

DefaultASC
Possible Values
ASCDESC

Sort direction

ASC sorts oldest first (default); DESC sorts newest first.

Search keywords and qualifiers

GitHub pull request search syntax combining keywords with qualifiers like repo, is, and label

Repository to search

owner/repo value used for the repo: qualifier

Review requested from user

Matches pull requests where a review has been requested from the given GitHub username.

DefaultCREATED
Possible Values
CREATEDUPDATEDCOMMENTS

Sort field

CREATED sorts by creation time (default); UPDATED by last update; COMMENTS by comment count.

Title contains text

Matches pull requests with titles containing the given text

Filter by last update

Supports >, <, and range syntax (..) with ISO-8601 dates

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.