
GitHub AppToken
CertifiedIssue a GitHub App installation access token
GitHub AppToken
Issue a GitHub App installation access token
Signs an RS256 JWT with a GitHub App's RSA private key and exchanges it at the GitHub Apps API for a 1-hour installation token. Use the returned token as the appInstallationToken input on downstream io.kestra.plugin.github.* tasks, or as the Authorization: Bearer ... value on raw HTTP requests.
type: io.kestra.plugin.github.auth.AppTokenExamples
Issue an installation token and reuse it for an issue comment.
id: github_app_token_flow
namespace: company.team
tasks:
- id: token
type: io.kestra.plugin.github.auth.AppToken
clientId: "{{ secret('GITHUB_APP_CLIENT_ID') }}"
installationId: "52068731"
privateKey: "{{ secret('GITHUB_APP_PRIVATE_KEY') }}"
- id: comment
type: io.kestra.plugin.github.issues.Comment
appInstallationToken: "{{ outputs.token.token }}"
repository: kestra-io/kestra
issueNumber: 1347
body: "Triaged automatically. Execution: {{ execution.id }}"
Properties
clientId *Requiredstring
GitHub App client ID
The fine-grained client identifier (Iv23...) or the numeric App ID. Used as the JWT iss claim when signing.
installationId *Requiredstring
GitHub App installation ID
Numeric installation identifier under the target user or organization. Find it under Settings → Integrations → Applications → Installed GitHub Apps → Configure (the number at the end of the URL).
privateKey *Requiredstring
GitHub App private key
PEM-encoded RSA private key for the GitHub App. Both PKCS#1 (-----BEGIN RSA PRIVATE KEY-----, the default GitHub emits when you generate a key) and PKCS#8 (-----BEGIN PRIVATE KEY-----) formats are accepted.
endpoint string
https://api.github.comGitHub API endpoint
GitHub or GitHub Enterprise API base URL such as https://api.github.com or https://ghe.acme.com/api/v3. Defaults to https://api.github.com when unset.
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
Outputs
expiresAt string
date-timeExpiration timestamp
Instant at which GitHub will reject the token, parsed from the API response.
token string
Installation access token
Bearer token valid for one hour from issuance. Pass as appInstallationToken to downstream io.kestra.plugin.github.* tasks, or as Authorization: Bearer ... for raw HTTP requests.