GitHub

NocoDB connects to GitHub, so you can automate development workflows from your bases. With the GitHub integration, you can manage issues, pull requests and labels. You can also start workflows from GitHub events.

Ask NocoAI

Copy a prompt, paste it into NocoAI in any base, and replace the words in [brackets] with your own.

  • When a [bug] is added, create an issue in [our GitHub repository]
  • When [Status] changes to [Ready], create a GitHub issue for the [task]
  • When a [feature request] gets [10] votes, open a GitHub issue for it

Prerequisites

  • GitHub account: To learn more about GitHub and create an account, go to the GitHub website and refer to the GitHub documentation.
  • NocoDB GitHub integration: For setup instructions, refer to Integrations. You must configure at least one GitHub integration to use this feature.

At this time, 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

You can add each one as a workflow step and configure it 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: Select one or more events to listen for:

    • push, pull_request, issues, issue_comment, release, star, fork, watch

When you publish the workflow, NocoDB automatically creates the webhook. When you unpublish the workflow, NocoDB removes the webhook.

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) The title of the issue (max 256 characters).

  • Body: (optional) The description of the issue. Markdown is supported.

  • 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 that contains the issue.

  • Issue Number: (required) The number of the issue to update.

  • Title: (optional) The new title.

  • Body: (optional) The new description.

  • State: (optional) Set to open or closed.

  • Milestone: (optional) Update the milestone.

  • Labels: (optional) Update the labels on the issue.

  • Assignees: (optional) Update the assigned users.

3. List Issues

Use this action to get issues from a GitHub repository.

Configuration

  • GitHub Account: Select the connected GitHub account.

  • Repository: Select the repository.

  • State: (optional) Filter by open, closed, or all. Default: open.

  • Labels: (optional) Filter by one or more labels.

  • Assignee: (optional) Filter by the assigned user.

  • Milestone: (optional) Filter by milestone.

  • Sort: (optional) Sort by created, updated, or comments.

  • Direction: (optional) Sort direction: asc or desc.

  • Results per page: (optional) The number of results to return (max 100).

4. Add Issue Labels

Use this action to add one or more labels to an issue. The labels that the issue has stay on it.

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) The labels to set. These labels replace all labels that the issue has.

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) The title of the pull request (max 256 characters).

  • Source Branch: (required) The branch that contains your changes.

  • Target Branch: (required) The branch to merge into.

  • Body: (optional) The description of the pull request. Markdown is supported.

  • Draft: (optional) Create the pull request as a draft.

  • Allow maintainer edits: (optional) Let maintainers of the base branch push to the PR branch.

8. List Pull Requests

Use this action to get pull requests from a repository.

Configuration

  • GitHub Account: Select the connected GitHub account.

  • Repository: Select the repository.

  • State: (optional) Filter by open, closed, or all. Default: open.

  • Head Branch: (optional) Filter by the source branch.

  • Base Branch: (optional) Filter by the target branch.

  • Sort: (optional) Sort by created, updated, popularity, or long-running.

  • Direction: (optional) Sort direction: asc or desc.

  • Results per page: (optional) The number of results to return (max 100).

Testing the Action

Each GitHub action has a Test Step option.

Use it to:

  • Make sure that the credentials and configuration are correct
  • Make sure that the action runs correctly
  • Test with data from workflow steps that you tested before

Notes & Limitations

  • The authenticated user must have admin, maintain or push permissions on the repository.
  • For webhook triggers, the repository must allow webhook creation.
  • NocoDB gets the labels, milestones and assignees dynamically from the selected repository.
  • Issue numbers must be valid integers.

Last updated on

Latest product updates?See Changelog
Stay in the loop? Follow us onLinkedInLinkedInYouTubeYouTubeXX