GitHub AppToken

GitHub AppToken

Certified

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.

yaml
type: io.kestra.plugin.github.auth.AppToken

Issue an installation token and reuse it for an issue comment.

yaml
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

GitHub App client ID

The fine-grained client identifier (Iv23...) or the numeric App ID. Used as the JWT iss claim when signing.

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

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.

Defaulthttps://api.github.com

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

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

Formatdate-time

Expiration timestamp

Instant at which GitHub will reject the token, parsed from the API response.

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.