GitHub
Manage GitHub issues, pull requests, and labels directly from NocoDB workflows.
NocoDB integrates with GitHub to enable automated development workflows directly from your bases. Using the GitHub integration, you can manage issues, pull requests, and labels — or trigger workflows based on GitHub events.
Prerequisites
- GitHub account: Learn more about GitHub and create an account by visiting the GitHub website and referring to the GitHub documentation.
- NocoDB GitHub integration: Refer to Integrations for setup instructions. At least one GitHub integration must be configured to use this feature.
Currently, the GitHub node in NocoDB supports one trigger and eight actions:
Trigger
- GitHub Webhook Trigger
Actions
- Create Issue
- Update Issue
- List Issues
- Add Issue Labels
- Set Issue Labels
- Remove Issue Label
- Create Pull Request
- List Pull Requests
Each can be added as a workflow step and configured independently.
Trigger
GitHub Webhook Trigger
Use this trigger to start a workflow when specific events occur in a GitHub repository.
Configuration
-
GitHub Account: Select the connected GitHub account.
-
Repository: Select the repository to monitor.
-
Events: Choose one or more events to listen for:
push,pull_request,issues,issue_comment,release,star,fork,watch
The webhook is automatically created when the workflow is published and removed when unpublished.
Available GitHub Actions
1. Create Issue
Use this action to create a new issue in a GitHub repository.
Configuration
-
GitHub Account: Select the connected GitHub account.
-
Repository: Select the target repository.
-
Title: (required) Title of the issue (max 256 characters).
-
Body: (optional) Description of the issue. Supports Markdown.
-
Milestone: (optional) Select a milestone from the repository.
-
Labels: (optional) Select one or more labels to apply.
-
Assignees: (optional) Select one or more users to assign.
2. Update Issue
Use this action to update an existing GitHub issue.
Configuration
-
GitHub Account: Select the connected GitHub account.
-
Repository: Select the repository containing the issue.
-
Issue Number: (required) The number of the issue to update.
-
Title: (optional) Updated title.
-
Body: (optional) Updated description.
-
State: (optional) Set to
openorclosed. -
Milestone: (optional) Update the milestone.
-
Labels: (optional) Update labels on the issue.
-
Assignees: (optional) Update assigned users.
3. List Issues
Use this action to retrieve issues from a GitHub repository.
Configuration
-
GitHub Account: Select the connected GitHub account.
-
Repository: Select the repository.
-
State: (optional) Filter by
open,closed, orall. Default:open. -
Labels: (optional) Filter by one or more labels.
-
Assignee: (optional) Filter by assigned user.
-
Milestone: (optional) Filter by milestone.
-
Sort: (optional) Sort by
created,updated, orcomments. -
Direction: (optional) Sort direction:
ascordesc. -
Results per page: (optional) Number of results to return (max 100).
4. Add Issue Labels
Use this action to add one or more labels to an existing issue without removing existing labels.
Configuration
-
GitHub Account: Select the connected GitHub account.
-
Repository: Select the repository.
-
Issue Number: (required) The issue to modify.
-
Labels: (required) One or more labels to add.
5. Set Issue Labels
Use this action to replace all labels on an issue with a new set.
Configuration
-
GitHub Account: Select the connected GitHub account.
-
Repository: Select the repository.
-
Issue Number: (required) The issue to modify.
-
Labels: (optional) Labels to set. Existing labels will be removed and replaced with these.
6. Remove Issue Label
Use this action to remove a specific label from an issue.
Configuration
-
GitHub Account: Select the connected GitHub account.
-
Repository: Select the repository.
-
Issue Number: (required) The issue to modify.
-
Label: (required) The label to remove.
7. Create Pull Request
Use this action to create a new pull request.
Configuration
-
GitHub Account: Select the connected GitHub account.
-
Repository: Select the repository.
-
Title: (required) Title of the pull request (max 256 characters).
-
Source Branch: (required) The branch containing your changes.
-
Target Branch: (required) The branch you want to merge into.
-
Body: (optional) Description of the pull request. Supports Markdown.
-
Draft: (optional) Create as a draft pull request.
-
Allow maintainer edits: (optional) Allow maintainers of the base branch to push to the PR branch.
8. List Pull Requests
Use this action to retrieve pull requests from a repository.
Configuration
-
GitHub Account: Select the connected GitHub account.
-
Repository: Select the repository.
-
State: (optional) Filter by
open,closed, orall. Default:open. -
Head Branch: (optional) Filter by source branch.
-
Base Branch: (optional) Filter by target branch.
-
Sort: (optional) Sort by
created,updated,popularity, orlong-running. -
Direction: (optional) Sort direction:
ascordesc. -
Results per page: (optional) Number of results to return (max 100).
Testing the Action
Each GitHub action includes a Test Step option.
Use this to:
- Validate credentials and configuration
- Confirm the action executes correctly
- Test using data from previously tested workflow steps
Notes & Limitations
- Repositories must grant admin, maintain, or push permissions for the authenticated user.
- Webhook triggers require the repository to allow webhook creation.
- Labels, milestones, and assignees are fetched dynamically from the selected repository.
- Issue numbers must be valid integers.