GitHub Create

GitHub Create

Certified

Create an issue

Creates a new GitHub issue in the target repository. The authenticated token must be allowed to open issues, and property values are rendered before the issue is created.

yaml
type: io.kestra.plugin.github.issues.Create

Create an issue in a repository using JWT token.

yaml
id: github_issue_create_flow
namespace: company.team

tasks:
  - id: create_issue
    type: io.kestra.plugin.github.issues.Create
    jwtToken: "{{ secret('GITHUB_JWT_TOKEN') }}"
    repository: kestra-io/kestra
    title: Workflow failed
    body: "{{ execution.id }} has failed on {{ taskrun.startDate }}. See the link below for more details"
    labels:
      - bug
      - workflow

Create an issue in a repository using OAuth token.

yaml
id: github_issue_create_flow
namespace: company.team

tasks:
  - id: create_issue
    type: io.kestra.plugin.github.issues.Create
    login: your_github_login
    oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    repository: kestra-io/kestra
    title: Workflow failed
    body: "{{ execution.id }} has failed on {{ taskrun.startDate }}. See the link below for more details"
    labels:
      - bug
      - workflow

Create an issue in a repository with assignees.

yaml
id: github_issue_create_flow
namespace: company.team

tasks:
  - id: create_issue
    type: io.kestra.plugin.github.issues.Create
    oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    repository: kestra-io/kestra
    title: Workflow failed
    body: "{{ execution.id }} has failed on {{ taskrun.startDate }}. See the link below for more details"
    labels:
      - bug
      - workflow
    assignees:
      - MyDeveloperUserName
      - MyDesignerUserName

Create an issue and set custom Issue Field values using human-readable field names.

yaml
id: github_issue_create_with_fields_flow
namespace: company.team

tasks:
  - id: create_issue
    type: io.kestra.plugin.github.issues.Create
    oauthToken: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    repository: kestra-io/kestra
    title: Automated issue with custom fields
    body: "Created by Kestra workflow {{ execution.id }}"
    labels:
      - automation
    fields:
      Customer: "Kestra"
      Stage: "In review"
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.

SubTypestring

Issue assignees

GitHub logins to assign when the issue is created

Issue body

Markdown body for the issue. This value is rendered before the request is sent

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.

Issue field values

Custom field values to set on the issue after creation, using the GitHub Issues field-values API (API version 2026-03-10). Only available for organization repositories — personal repositories always return HTTP 404. Keys can be either human-readable field names (e.g. "Customer", "Stage") or field node IDs (e.g. PVTF_…). Human-readable names are resolved automatically to node IDs via the GitHub API (GET /orgs/{org}/issues/field-definitions). Values are the field values to set. Unsupported value types are passed through as-is; GitHub will return a 422 if the type is invalid. Requires a token with the project scope in addition to issues: write. When null or empty the REST call is skipped entirely and existing behavior is preserved.

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.

SubTypestring

Issue labels

Labels to apply to the issue when it is created

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.

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

Target repository

Repository in owner/repo format where the issue will be created

Issue title

Short summary shown in GitHub.

Issue number

Numeric issue number assigned by GitHub

Issue URL

GitHub URL for the created issue

Definitions
authoritystring
filestring
hoststring
portinteger
protocolstring
refstring