Skip to content

Commit 3488602

Browse files
authored
Merge pull request #127 from makeplane/chore-add_github_enterprise_page
[DOCSW-443] Github Enterprise App Create Dev Docs
2 parents f65367d + 50b04af commit 3488602

File tree

1 file changed

+158
-41
lines changed

1 file changed

+158
-41
lines changed

self-hosting/govern/integrations/github.mdx

Lines changed: 158 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ sidebarTitle: GitHub
55

66
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 the necessary authentication, permissions, and webhooks to ensure smooth integration.
77

8+
This guide covers configuration for both:
9+
10+
- **[GitHub Cloud](/self-hosting/govern/integrations/github?edition=github-cloud#create-github-app)**
11+
The standard cloud-hosted GitHub service
12+
13+
- **[GitHub Enterprise Server](/self-hosting/govern/integrations/github?edition=github-enterprise#create-github-app)**
14+
Self-hosted GitHub instances for organizations with specific compliance or security requirements
15+
816
In this guide, you’ll:
917
1. [Create and configure a GitHub App](/self-hosting/govern/integrations/github#create-github-app)
1018
2. [Set up permissions and events](/self-hosting/govern/integrations/github#set-up-permissions-and-events)
@@ -18,42 +26,114 @@ After creating and configuring the GitHub app and configuring the instance as de
1826

1927
## Create GitHub App
2028

21-
To configure GitHub integration, you'll need to create a GitHub App within your organization. Follow these steps:
29+
To configure GitHub integration, you'll need to create a GitHub App within your organization.
30+
31+
<Tabs>
32+
<Tab title="GitHub Cloud">
33+
1. Go to **Settings \> Developer Settings \> GitHub Apps** in your GitHub organization.
34+
35+
2. Click **New GitHub App**.
36+
![Create GitHub App](/images/integrations/github/create-github-app.webp)
37+
38+
3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**.
39+
![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp)
40+
41+
4. In the **Identifying and authorizing users** section, add the following **Callback URLS**.
42+
43+
```bash
44+
https://<your-domain>/silo/api/github/auth/callback
45+
https://<your-domain>/silo/api/github/auth/user/callback
46+
```
47+
48+
These URLs allow Plane to verify and enable workspace connection with the Github App.
49+
![Add Callback URL](/images/integrations/github/add-callback-url.webp)
50+
51+
5. In the **Post installation** section, add the below **Setup URL**.
52+
53+
```bash
54+
https://<your-domain>/silo/api/github/auth/callback
55+
```
56+
57+
Redirects users to this URL after GitHub app installation.
58+
![Add setup URL](/images/integrations/github/add-setup-url.webp)
59+
60+
6. Turn on **Redirect on update**.
61+
62+
7. In the **Webhook** section, add the below **Webhook URL**.
63+
64+
```bash
65+
https://<your-domain>/silo/api/github/github-webhook
66+
```
67+
68+
This allows Plane to receive updates from GitHub repositories.
69+
70+
![Add Webhook URL](/images/integrations/github/add-webhook-url.webp)
71+
</Tab>
72+
73+
<Tab title="GitHub Enterprise Server">
2274

2375
1. Go to **Settings \> Developer Settings \> GitHub Apps** in your GitHub organization.
2476

25-
2. Click **New GitHub App**.
26-
![Create GitHub App](/images/integrations/github/create-github-app.webp)
77+
2. Click **New GitHub App**.
78+
![Create GitHub App](/images/integrations/github/create-github-app.webp)
2779

28-
3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**.
29-
![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp)
80+
3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**.
81+
![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp)
3082

31-
4. In the **Identifying and authorizing users** section, add the following **Callback URLS**.
83+
4. In the **Identifying and authorizing users** section, add the following **Callback URLS**.
3284

33-
```bash
34-
https://<your-domain>/silo/api/github/auth/callback
35-
https://<your-domain>/silo/api/github/auth/user/callback
36-
```
37-
These URLs allow Plane to verify and enable workspace connection with the Github App.
38-
![Add Callback URL](/images/integrations/github/add-callback-url.webp)
85+
**For Plane cloud instance**
3986

40-
5. In the **Post installation** section, add the below **Setup URL**.
87+
```bash
88+
https://silo.plane.so/api/github/auth/callback
89+
https://silo.plane.so/api/github/auth/user/callback
90+
```
4191

42-
```bash
43-
https://<your-domain>/silo/api/github/auth/callback
44-
```
45-
Redirects users to this URL after GitHub app installation.
46-
![Add setup URL](/images/integrations/github/add-setup-url.webp)
92+
**For Plane self-hosted instance**
4793

48-
6. Turn on **Redirect on update**.
94+
```bash
95+
https://<your-domain>/silo/api/github/auth/callback
96+
https://<your-domain>/silo/api/github/auth/user/callback
97+
```
98+
99+
These URLs allow Plane to verify and enable workspace connection with the Github App.
100+
![Add Callback URL](/images/integrations/github/add-callback-url.webp)
49101

50-
7. In the **Webhook** section, add the below **Webhook URL**.
51-
```bash
52-
https://<your-domain>/silo/api/github/github-webhook
53-
```
54-
This allows Plane to receive updates from GitHub repositories.
102+
5. In the **Post installation** section, add the below **Setup URL**.
103+
104+
**For Plane cloud instance**
105+
```bash
106+
https://silo.plane.so/api/oauth/github-enterprise/auth/callback
107+
```
108+
109+
**For Plane self-hosted instance**
55110

56-
![Add Webhook URL](/images/integrations/github/add-webhook-url.webp)
111+
```bash
112+
https://<your-plane-domain>/silo/api/oauth/github-enterprise/auth/callback
113+
```
114+
Redirects users to this URL after GitHub app installation.
115+
![Add setup URL](/images/integrations/github/add-setup-url.webp)
116+
117+
6. Turn on **Redirect on update**.
118+
119+
7. In the **Webhook** section, add the below **Webhook URL**.
120+
121+
**For Plane cloud instance**
122+
```bash
123+
https://silo.plane.so/api/github-enterprise/github-webhook
124+
```
125+
126+
**For Plane self-hosted instance**
127+
128+
```bash
129+
https://<your-plane-domain>/silo/api/github-enterprise/github-webhook
130+
```
131+
This allows Plane to receive updates from GitHub repositories.
132+
133+
![Add Webhook URL](/images/integrations/github/add-webhook-url.webp)
134+
135+
</Tab>
136+
</Tabs>
57137

58138
### Set up permissions and events
59139

@@ -100,6 +180,53 @@ To configure GitHub integration, you'll need to create a GitHub App within your
100180

101181
## Configure Plane instance
102182

183+
<Tabs>
184+
<Tab title="GitHub Cloud">
185+
1. Go back to **Settings \> Developer Settings \> GitHub Apps**.
186+
187+
2. Click **Edit** on the GitHub you created.
188+
189+
3. In the **General** tab, under the **Client secrets** section, click **Generate a new client secret**.
190+
191+
![General tab](/images/integrations/github/general-tab.webp)
192+
193+
4. Scroll down to the **Private keys** section.
194+
195+
![Private keys](/images/integrations/github/private-keys.webp)
196+
197+
5. Click **Genereate a private key**.
198+
199+
6. Retrieve the following details from the **General** tab:
200+
- App ID
201+
- Client ID
202+
- Client secret
203+
- GitHub App name
204+
- Private key
205+
206+
7. Before adding the Private key as an environment variable, you’ll need to convert it to base64. Since private keys are typically multi-line, they can cause parsing errors or issues when setting environment variables. To avoid this, run the following command to convert the key to base64:
207+
208+
```bash
209+
cat private_key.pem | base64 -w 0
210+
```
211+
212+
8. Add these environment variables with the values to your Plane instance's `.env` file.
213+
214+
```bash
215+
GITHUB_CLIENT_ID=<client_id>
216+
GITHUB_CLIENT_SECRET=<client_secret>
217+
GITHUB_APP_NAME=<app_name>
218+
GITHUB_APP_ID=<app_id>
219+
GITHUB_PRIVATE_KEY=<private_key>
220+
```
221+
222+
9. Save the file and restart the instance.
223+
224+
10. Once you've completed the instance configuration, [activate the GitHub integration in Plane](https://docs.plane.so/integrations/github).
225+
226+
</Tab>
227+
228+
<Tab title="GitHub Enterprise Server">
229+
103230
1. Go back to **Settings \> Developer Settings \> GitHub Apps**.
104231

105232
2. Click **Edit** on the GitHub you created.
@@ -112,30 +239,20 @@ To configure GitHub integration, you'll need to create a GitHub App within your
112239

113240
![Private keys](/images/integrations/github/private-keys.webp)
114241

115-
5. Click **Genereate a private key**.
242+
5. Click **Generate a private key**.
116243

117244
6. Retrieve the following details from the **General** tab:
118245
- App ID
246+
- App Slug (You can find this in browser url)
119247
- Client ID
120248
- Client secret
121-
- GitHub App name
122249
- Private key
123250

124-
7. Before adding the Private key as an environment variable, you’ll need to convert it to base64. Since private keys are typically multi-line, they can cause parsing errors or issues when setting environment variables. To avoid this, run the following command to convert the key to base64:
251+
7. Convert the Private key to convert it to base64. Since private keys are typically multi-line, they can cause parsing errors or issues when setting environment variables. To avoid this, run the following command to convert the key to base64:
125252
```bash
126253
cat private_key.pem | base64 -w 0
127254
```
128255

129-
8. Add these environment variables with the values to your Plane instance's `.env` file.
130-
131-
```bash
132-
GITHUB_CLIENT_ID=<client_id>
133-
GITHUB_CLIENT_SECRET=<client_secret>
134-
GITHUB_APP_NAME=<app_name>
135-
GITHUB_APP_ID=<app_id>
136-
GITHUB_PRIVATE_KEY=<private_key>
137-
```
138-
139-
9. Save the file and restart the instance.
140-
141-
10. Once you've completed the instance configuration, [activate the GitHub integration in Plane](https://docs.plane.so/integrations/github).
256+
8. Once you've created the app, [activate the GitHub Enterprise integration in Plane](https://docs.plane.so/integrations/github#connect-github-enterprise-organization).
257+
</Tab>
258+
</Tabs>

0 commit comments

Comments
 (0)