Skip to main content

Configure GitHub App for Plane integration

This guide walks you through setting up a GitHub App to enable GitHub integration for your Plane workspace on a self-hosted instance. Since self-hosted environments don’t come pre-configured for GitHub, you’ll need to set up authentication, permissions, and webhooks to ensure smooth integration.

This guide covers configuration for both:

  • GitHub Cloud — The standard cloud-hosted GitHub service
  • GitHub Enterprise Server — Self-hosted GitHub instances for organizations with specific compliance or security requirements

In this guide, you’ll:

  1. Create and configure a GitHub App
  2. Configure your Plane instance
IMPORTANT

Activate GitHub integration

After creating and configuring the GitHub app and configuring the instance as detailed on this page, you'll need to set up the GitHub integration within Plane.

Create GitHub App

To configure GitHub integration, create a GitHub App within your organization.

  1. Go to Settings > Developer Settings > GitHub Apps in your GitHub organization.

  2. Click New GitHub App. Create GitHub App

  3. In the Register new GitHub App page, provide a GitHub App name and Homepage URL. App name and homepage URL

  4. In the Identifying and authorizing users section, add the following Callback URLs:

    https://<your-domain>/silo/api/github/auth/callback
    https://<your-domain>/silo/api/github/auth/user/callback

    These URLs allow Plane to verify and enable workspace connection with the GitHub App. Add Callback URL

  5. In the Post installation section, add this Setup URL and check the box for Redirect on update. Add setup URL

  6. In the Webhook section, add the following Webhook URL to allow Plane to receive updates from GitHub repositories:

    https://<your-domain>/silo/api/github/github-webhook

    Add Webhook URL

Configure Plane instance

After creating your GitHub App:

  1. Copy the Client ID and Client Secret from the app settings.
  2. Add these environment variables to your Plane instance's .env file:
    GITHUB_CLIENT_ID=<client_id>
    GITHUB_CLIENT_SECRET=<client_secret>
  3. Save the file and restart the instance.
  4. Once you've completed the instance configuration, activate the GitHub integration in Plane.