GitHub Search

GitHub Search

Certified

Search topics

Runs a GitHub topic search and writes matching topic metadata to Kestra internal storage. The task calls the REST API directly so it can honor custom endpoints and token types, and defaults to ascending order.

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

Search for topics.

yaml
id: github_topic_search_flow
namespace: company.team

tasks:
  - id: search_topics
    type: io.kestra.plugin.github.topics.Search
    oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    query: "micronaut framework is:not-curated repositories:>100"

Search for topics with conditions.

yaml
id: github_topic_search_flow
namespace: company.team

tasks:
  - id: search_topics
    type: io.kestra.plugin.github.topics.Search
    oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    query: "micronaut framework"
    is: NOT_CURATED
    repositories: ">100"
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

Created date filter

Supports >, <, and range (..) date syntax

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

Possible Values
CURATEDFEATUREDNOT_CURATEDNOT_FEATURED

Curation/feature flags

CURATED matches curated topics

FEATURED matches topics featured on https://github.com/topics/

NOT_CURATED excludes curated topics

NOT_FEATURED excludes featured topics

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.

GitHub OAuth token

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

Search keywords and qualifiers

GitHub topic search syntax combining keywords with qualifiers. Note: GitHub's topic search API does not support sorting - results are always returned in best match order.

Repository count filter

Supports >, <, and range (..) qualifiers

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.