GitHub Search

GitHub Search

Certified

Search code

Runs a GitHub code search and writes matching file metadata to Kestra internal storage. This task uses rendered property values and defaults to BEST_MATCH sorted in ascending order.

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

Search for code in a repository.

yaml
id: github_code_search_flow
namespace: company.team

tasks:
  - id: search_code
    type: io.kestra.plugin.github.code.Search
    oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    query: "addClass in:file language:js repo:jquery/jquery"

Search for code in a repository.

yaml
id: github_code_search_flow
namespace: company.team

tasks:
  - id: search_code
    type: io.kestra.plugin.github.code.Search
    oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    query: addClass
    in: file
    language: js
    repository: jquery/jquery
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.

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.

File extension filter

Matches files with the given extension

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.

File name filter

Matches files with this exact name

Possible Values
PARENT_AND_FORKSFORKS_ONLYPARENT_ONLY

Include forks

Controls whether the search includes the parent repository, forks, or both

Fields to search

Comma-separated in: targets such as file,path. Leave unset to search all supported fields

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.

Language filter

Programming language qualifier

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.

DefaultASC
Possible Values
ASCDESC

Sort direction

ASC sorts ascending (default); DESC sorts descending.

Path prefix filter

Limits results to files under this path

Reference (ref) of the pluginDefaults to apply to this task.

Search keywords and qualifiers

GitHub code search syntax combining keywords with qualifiers like repo, path, language.

Repository to search

owner/repo value used for the repo: qualifier

File size filter

Supports >, <, and range syntax (..) in bytes

DefaultBEST_MATCH
Possible Values
BEST_MATCHINDEXED

Sort field

BEST_MATCH ranks by relevance (default); INDEXED sorts by index time.

User scope

Limits the search to repositories owned by the given user

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.