
GitHub List
CertifiedList items from a GitHub Projects v2 board
GitHub List
List items from a GitHub Projects v2 board
Fetches all items from a GitHub Projects v2 board via the GraphQL API, with optional client-side filtering by project field values, status, and labels. Supports pagination for projects with more than 100 items. The token must have the read: project scope in addition to repo access.
type: io.kestra.plugin.github.projects.ListExamples
List all items from a GitHub project.
id: github_projects_list_flow
namespace: company.team
tasks:
- id: list_project_items
type: io.kestra.plugin.github.projects.List
oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
organization: kestra-io
projectNumber: 1
fetchType: FETCH
List project items filtered by field values, status, and labels, stored to internal storage.
id: github_projects_list_filtered_flow
namespace: company.team
tasks:
- id: list_project_items
type: io.kestra.plugin.github.projects.List
oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
organization: kestra-io
projectNumber: 1
fields:
Owner: Plugins
status:
- In Progress
- Done
labels:
- area/plugin
fetchType: STORE
Properties
organization *Requiredstring
GitHub organization login
The GitHub organization that owns the project (e.g. kestra-io).
projectNumber *Requiredintegerstring
Project number
The numeric identifier of the project board visible in the GitHub URL.
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.
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.
fetchType string
STORESTOREFETCHFETCH_ONENONEResult 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.
fields object
Project field filters
When set, only items whose project field values match all the listed entries are returned (case-sensitive). Keys are project field names (e.g. Owner, Stage); values are the expected field values. An empty map disables this filter.
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.
labels array
Label filter
When set, only items that have at least one of the listed labels are returned. An empty list disables this filter.
limit integerstring
0Maximum number of items to return
Caps the number of items returned after all filters are applied. 0 or negative means no limit.
Note: this limit is applied after all pages are fetched — it does not reduce the number of API calls or memory usage for large projects.
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.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
status array
Status filter
When set, only items whose Status field matches one of the listed values are returned. An empty list disables this filter.
Outputs
row object
First hit
Available only when fetchType=FETCH_ONE; contains the first hit source.
rows array
Fetched hits
Available only when fetchType=FETCH; contains hit sources for the current response page.
size integer
Returned hit count
Number of hits included in outputs for the selected fetch type.
total integer
Total hits reported
Total hits reported by GitHub search, regardless of pagination.
uri string
uriStored hits URI
Available only when fetchType=STORE; Kestra internal storage path to the Ion file.