GitHub
The GitHub API node lets you interact with GitHub repositories in your workflows. You can list, get, create, update, and comment on issues, pull requests, commits, and releases through a single flexible node.
All operations require a GitHub connection configured with a Personal Access Token.
Configuration
| Field | Description | Notes |
|---|---|---|
| Connection | GitHub connection to use | Required |
| Owner | Repository owner (user or organization) | Required. Supports templates |
| Repository | Repository name | Required. Supports templates |
| Resource | What to operate on: Issues, Pull Requests, Commits, Releases | Required |
| Operation | Action to perform: List, Get, Create, Update, Comment | Required. Available operations depend on resource |
| Resource ID | Issue/PR number or commit SHA | Required for Get, Update, Comment |
| Query Parameters | Additional API parameters as key-value pairs | Optional. Shown for List only |
| Request Body (JSON) | JSON body for create, update, or comment | Required for Create, Update, Comment |
Operation / Resource Matrix
| Resource | List | Get | Create | Update | Comment |
|---|---|---|---|---|---|
| Issues | Y | Y | Y | Y | Y |
| Pull Requests | Y | Y | - | - | Y |
| Commits | Y | Y | - | - | - |
| Releases | Y | Y | Y | - | - |
Examples
List Open Issues
Set Resource to Issues, Operation to List, and add a query parameter state = open.
Create an Issue
Set Resource to Issues, Operation to Create, and provide the body:
json{
"title": "Bug: login page broken",
"body": "Steps to reproduce...",
"labels": ["bug", "priority:high"]
}
Comment on a Pull Request
Set Resource to Pull Requests, Operation to Comment, Resource ID to the PR number, and provide:
json{
"body": "Automated review: all checks passed for {{data.sha}}"
}
Create a Release
Set Resource to Releases, Operation to Create, and provide:
json
{
"tag_name": "v1.0.0",
"name": "Release v1.0.0",
"body": "First stable release",
"draft": false,
"prerelease": false
}Output
All operations return the raw GitHub API response object. Common fields include:
| Field | Description |
|---|---|
id | GitHub resource ID |
number | Issue or PR number |
title | Title (issues, PRs, releases) |
state | Current state (open, closed) |
html_url | Link to view on GitHub |
created_at | ISO timestamp |
updated_at | ISO timestamp |
List operations return an array of these objects.
Streaming Support
- List operations emit each result item individually, enabling streaming pipelines
- Create, Update, Comment operations process each upstream item, making them suitable for batch operations (e.g., comment on every issue matching a filter)
Template References
Use template expressions to reference data from upstream nodes. For example, set Owner to {{data.owner}} and Repository to {{data.repo}} to dynamically target different repositories.