GitHub Issues Nodes
13 GitHub Issues action nodes.
GitHub Issues action nodes provide full lifecycle management for GitHub Issues: create, read, update, close, reopen, label, assign, comment, and set milestones. All github_issues.* nodes require the GitHub Issues integration to be enabled for your organization - they will not appear in the node palette until that integration is connected.
GitHub Issues is a feature-flagged integration. If you do not see github_issues.* nodes in the palette, go to Settings → Integrations and enable GitHub Issues via the GitHub App installation flow. See GitHub Issues Integration for setup details.
Issue lifecycle
github_issues.issue.create
Creates a new GitHub Issue in a repository.
Input ports
| Port | Type | Required | Description |
|---|---|---|---|
owner | string | yes | Repository owner |
repo | string | yes | Repository name |
title | string | yes | Issue title |
body | string | no | Issue body (Markdown) |
labels | string[] | no | Label names to apply |
assignees | string[] | no | GitHub usernames to assign |
milestone | number | no | Milestone number |
Output ports - success (GitHubIssue) / fail ({ error: string })
GitHubIssue shape
{
number: number
htmlUrl: string
title: string
state: 'open' | 'closed'
}github_issues.issue.get
Reads the current state of a GitHub Issue.
Input ports
| Port | Type | Required | Description |
|---|---|---|---|
owner | string | yes | Repository owner |
repo | string | yes | Repository name |
issueNumber | number | yes | Issue number |
Output ports - success (GitHubIssue with extended fields) / fail ({ error: string })
The extended GitHubIssue from issue.get additionally includes body, labels, assignees, milestone, createdAt, and updatedAt fields.
github_issues.issue.update
Updates fields of an existing GitHub Issue.
Input ports
| Port | Type | Required | Description |
|---|---|---|---|
owner | string | yes | Repository owner |
repo | string | yes | Repository name |
issueNumber | number | yes | Issue number |
title | string | no | New title |
body | string | no | New body |
state | string | no | open or closed |
labels | string[] | no | Replace label set |
assignees | string[] | no | Replace assignee set |
milestone | number | null | no | Set milestone number; pass null to clear |
Output ports - success (GitHubIssue) / fail ({ error: string })
github_issues.issue.close
Closes a GitHub Issue.
Input ports
| Port | Type | Required | Description |
|---|---|---|---|
owner | string | yes | Repository owner |
repo | string | yes | Repository name |
issueNumber | number | yes | Issue number |
stateReason | string | no | completed or not_planned (default: completed) |
Output ports - success (GitHubIssue) / fail ({ error: string })
github_issues.issue.reopen
Reopens a closed GitHub Issue.
Input ports
| Port | Type | Required |
|---|---|---|
owner | string | yes |
repo | string | yes |
issueNumber | number | yes |
Output ports - success (GitHubIssue) / fail ({ error: string })
Label management
github_issues.label.add
Adds one or more labels to an issue without replacing the existing label set.
Input ports
| Port | Type | Required |
|---|---|---|
owner | string | yes |
repo | string | yes |
issueNumber | number | yes |
labels | string[] | yes |
Output ports - success ({ labels: string[] }) / fail ({ error: string })
github_issues.label.remove
Removes a specific label from an issue.
Input ports
| Port | Type | Required |
|---|---|---|
owner | string | yes |
repo | string | yes |
issueNumber | number | yes |
label | string | yes |
Output ports - success ({ removed: boolean }) / fail ({ error: string })
github_issues.label.replace
Replaces the entire label set on an issue. More efficient than combining add + remove when replacing all labels at once.
Input ports
| Port | Type | Required |
|---|---|---|
owner | string | yes |
repo | string | yes |
issueNumber | number | yes |
labels | string[] | yes |
Output ports - success ({ labels: string[] }) / fail ({ error: string })
Assignee management
github_issues.assignees.add
Adds assignees to an issue.
Input ports
| Port | Type | Required |
|---|---|---|
owner | string | yes |
repo | string | yes |
issueNumber | number | yes |
assignees | string[] | yes |
Output ports - success ({ assignees: string[] }) / fail ({ error: string })
github_issues.assignees.remove
Removes assignees from an issue.
Input ports
| Port | Type | Required |
|---|---|---|
owner | string | yes |
repo | string | yes |
issueNumber | number | yes |
assignees | string[] | yes |
Output ports - success ({ assignees: string[] }) / fail ({ error: string })
Comment management
github_issues.comment.create
Creates a comment on a GitHub Issue.
Input ports
| Port | Type | Required | Description |
|---|---|---|---|
owner | string | yes | Repository owner |
repo | string | yes | Repository name |
issueNumber | number | yes | Issue number |
body | string | yes | Comment body (Markdown) |
Output ports - success ({ id: number; htmlUrl: string; body: string }) / fail ({ error: string })
github_issues.comment.update
Updates an existing comment on a GitHub Issue.
Input ports
| Port | Type | Required |
|---|---|---|
owner | string | yes |
repo | string | yes |
commentId | number | yes |
body | string | yes |
Output ports - success ({ id: number; htmlUrl: string; body: string }) / fail ({ error: string })
Milestone management
github_issues.milestone.set
Sets the milestone on a GitHub Issue.
Input ports
| Port | Type | Required |
|---|---|---|
owner | string | yes |
repo | string | yes |
issueNumber | number | yes |
milestone | number | yes |
Output ports - success ({ milestoneNumber: number; title: string }) / fail ({ error: string })
Trigger counterparts
Two trigger nodes fire on GitHub Issues events:
| Trigger | When it fires |
|---|---|
github_issues.issue.assigned | When an issue is assigned to a user |
github_issues.comment.created | When a comment is posted on an issue |
See Trigger Nodes for their output schemas.
Related pages
- GitHub Issues Integration - enabling the integration, feature flag, GitHub App setup
- GitHub Action Nodes - PR and branch nodes
- Generic Action Nodes - tracker-agnostic
issue.*nodes for portability