Skip to content

Commit 4505da3

Browse files
committed
copyedit
1 parent 9158803 commit 4505da3

File tree

1 file changed

+116
-118
lines changed

1 file changed

+116
-118
lines changed

deploy/ghes.mdx

Lines changed: 116 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ If you use a cloud-hosted GitHub instance, see the [GitHub](/deploy/github) page
1010

1111
## Prerequisites
1212

13-
- Admin privileges on your GitHub Enterprise Server Organization where you want to install the app
13+
- Admin privileges on your GitHub Enterprise Server organization where you want to install the app
1414
- Access to your organization's repositories where you want to install the app
1515
- Network connectivity to communicate with our external services (see [Network requirements](#network-requirements) section below)
1616

@@ -29,48 +29,45 @@ The following outbound connections must be allowed:
2929
- HTTPS (port 443) to Mintlify's service domains
3030
- DNS resolution for Mintlify's service domains
3131

32-
## Create the GitHub App
32+
## Step 1: Register the GitHub App
3333

34-
<Steps>
35-
<Step title="Navigate to Site Admin Settings">
36-
Log into your GitHub Enterprise Server as a site administrator.
37-
38-
Go to `https://your-github-server.com/customer-domain/` (replace with your actual domain).
34+
See [Registering a GitHub App](https://docs.github.com/en/[email protected]/apps/creating-github-apps/registering-a-github-app/registering-a-github-app) in the GitHub documentation for detailed instructions.
3935

40-
Click on **Site admin** in the top navigation.
36+
<Steps>
37+
<Step title="Navigate to your organization settings">
38+
1. In the upper-right corner of any page on GitHub, click your profile picture.
39+
2.Click **Your organizations**.
40+
3. Click **Settings** next to the organization that you want to create the app for.
4141
</Step>
4242

43-
<Step title="Access GitHub Apps Management">
44-
In the left sidebar, click **GitHub Apps**.
45-
46-
Click **New GitHub App**.
43+
<Step title="Create a new GitHub App">
44+
1. In the left sidebar, click **Developer settings**.
45+
2. Click **GitHub Apps**.
46+
3. Click **New GitHub App**.
4747
</Step>
4848

49-
<Step title="Configure Basic App Information">
49+
<Step title="Configure basic app information">
5050
Set the following:
5151

52-
- **GitHub App name:** Mintlify
53-
- **Description:** Integration with Mintlify services
54-
- **Homepage URL:** https://mintlify.com
55-
- **User authorization callback URL:** `https://your-github-server.com/` (your GRES domain)
52+
- **GitHub App name:** `Mintlify`
53+
- **Description:** `Integration with Mintlify services`
54+
- **Homepage URL:** `https://mintlify.com`
55+
- **User authorization callback URL:** `https://your-github-server.com/` (replace with your actual GHES domain)
5656

57-
<Note>
58-
We won't be using the user authorization callback URL for the manual configuration.
59-
</Note>
6057
</Step>
6158
</Steps>
6259

63-
## Configure App Permissions
60+
## Step 2: Configure app permissions
6461

6562
<Steps>
66-
<Step title="Set Repository Permissions">
67-
Set the following permissions for the app. No Organization, Account, or Enterprise Permissions are required:
63+
<Step title="Set repository permissions">
64+
Set the following permissions for the app. No Organization, Account, or Enterprise permissions are required:
6865

69-
- **Checks:** Read & Write
70-
- **Contents:** Read & Write
71-
- **Deployments:** Read & Write
66+
- **Checks:** Read and write
67+
- **Contents:** Read and write
68+
- **Deployments:** Read and write
7269
- **Metadata:** Read-only
73-
- **Pull Requests:** Read & Write
70+
- **Pull Requests:** Read and write
7471
</Step>
7572

7673
<Step title="Subscribe to Events">
@@ -87,26 +84,22 @@ Select the following webhook events:
8784
</Step>
8885
</Steps>
8986

90-
## Generate and Secure Credentials
87+
## Step 3: Generate and secure credentials
9188

9289
<Steps>
93-
<Step title="Create the App">
90+
<Step title="Create the app">
9491
Click **Create GitHub App**.
9592

9693
You'll be redirected to the app's settings page.
9794
</Step>
9895

99-
<Step title="Generate Private Key">
100-
Scroll down to **Private keys** section.
101-
102-
Click **Generate a private key**.
103-
104-
<Warning>
105-
Download and securely store this .pem file.
106-
</Warning>
96+
<Step title="Generate private key">
97+
1. Scroll down to the **Private keys** section.
98+
2. Click **Generate a private key**.
99+
3. Download the `.pem` file and securely store it.
107100
</Step>
108101

109-
<Step title="Note App Credentials">
102+
<Step title="Note app credentials">
110103
Record the following:
111104

112105
- **App ID** (visible at the top of the settings page)
@@ -115,146 +108,151 @@ Record the following:
115108
</Step>
116109
</Steps>
117110

118-
## Install the App
111+
## Step 4: Install the app
119112

120113
<Steps>
121-
<Step title="Navigate to App Installation">
122-
From the app settings page, click **Install App** in the left sidebar.
123-
124-
Select your organization from the list.
114+
<Step title="Navigate to app installation">
115+
1. From the app settings page, click **Install App** in the left sidebar.
116+
2. Select your organization from the list.
125117
</Step>
126118

127-
<Step title="Choose Installation Scope">
119+
<Step title="Choose installation scope">
128120
Select either:
129121

130122
- **All repositories** (for organization-wide access)
131123
- **Only select repositories** (choose specific repositories)
132124

133125
<Tip>
134-
Selecting "Only select repositories" is the recommended option.
126+
We reccomend selecting "Only select repositories" and limiting the app to only the repositories where your documentation is located.
135127
</Tip>
136128
</Step>
137129

138-
<Step title="Complete Installation">
139-
Click **Install**.
140-
141-
Note the Installation ID from the URL (e.g., `https://your-github-server.com/settings/installations/12345` - the number `12345` is your Installation ID).
130+
<Step title="Complete the installation">
131+
1. Click **Install**.
132+
2. Record the installation ID from the URL. For example, in `https://your-github-server.com/settings/installations/12345`, the string `12345` is the installation ID.
142133
</Step>
143134
</Steps>
144135

145-
## Configure Webhook URL
136+
## Step 5: Configure webhook URL
146137

147138
<Steps>
148-
<Step title="Return to App Settings">
149-
Go back to your app's settings page.
150-
151-
Scroll to **Webhook** section.
139+
<Step title="Return to app settings">
140+
1. Go back to your app's settings page.
141+
2. Scroll to the **Webhook** section.
152142
</Step>
153143

154-
<Step title="Set Webhook URL">
144+
<Step title="Set webhook URL">
155145
Configure the following:
156146

157-
- **Webhook URL:** `https://leaves.mintlify.com/github-enterprise/:subdomain` (we'll provide the exact URL)
147+
- **Webhook URL:** `https://leaves.mintlify.com/github-enterprise/:subdomain` (replace `:subdomain` with the URL that we provide you with)
158148
- **Webhook secret:** Generate a random string (32+ characters) and record it securely. Mintlify can also generate this and provide it to you.
149+
</Step>
150+
</Steps>
151+
152+
## Share credentials with us
153+
Please share the following information with our team using your secure information transfer method of choice.
154+
155+
### Required credentials
156+
- GitHub Enterprise Server base URL: https://your-github-server.com
157+
- App ID: (from step 3)
158+
- App client ID: (from step 3)
159+
- App client secret: (from step 3)
160+
- Installation ID: (from step 4)
161+
- Private key: The entire contents of the `.pem` file (should be shared via secure file transfer)
162+
- Webhook secret: (from step 5)
163+
164+
### Optional credentials for troubleshooting
165+
- Organization name: Your GitHub organization name
166+
- Repository names: Specific repositories where the app is installed
167+
- GitHub Enterprise Server version: Found in your site admin dashboard
168+
169+
## Mintlify connection
170+
We take the credentials you provide us and store them, encrypted, in a secure location. Then we work with you to either:
171+
172+
- Integrate your GHES environment with an existing Mintlify deployment.
173+
- Integrate your GHES environment with a new Mintlify deployment that we provision for you.
174+
175+
After your GHES environment is integrated with a Mintlify deployment, you are ready to enable webhooks for your GitHub App.
159176

160177
<Note>
161-
This can be left inactive until Mintlify completes their side of the setup process.
178+
The webhook URL may change based on our configuration. We test the integration and provide you with the new URL.
162179
</Note>
180+
181+
## Test the integration
182+
183+
<Steps>
184+
<Step title="Verify webhook delivery">
185+
1. Go to your GitHub App settings.
186+
2. Click the **Advanced** tab.
187+
2. Check "Recent Deliveries" for successful webhook deliveries.
188+
3. Look for HTTP 200 responses.
163189
</Step>
164-
</Steps>
165190

166-
##Credentials to Share with Us
167-
Please share the following information with our team using your secure information transfer method of choice:
168-
### Required Credentials
169-
GitHub Enterprise Server base URL: https://your-github-server.com
170-
App ID: (from Step 3)
171-
App Client ID: (from Step 3)
172-
App Client Secret: (from Step 3)
173-
Installation ID: (from Step 4)
174-
Private Key: The entire contents of the .pem file (should be shared via secure file transfer)
175-
Webhook Secret: (from Step 5)
176-
### Optional Information (Helpful for Troubleshooting)
177-
Organization Name: Your GitHub organization name
178-
Repository Names: Specific repositories where the app is installed
179-
GitHub Enterprise Server Version: (found in site admin dashboard)
180-
181-
## Our Work
182-
We will take the credentials you’ve provided us and store them, encrypted, in a secure location. From there, we will work with you to either
183-
184-
Integrate your GRES environment with an existing Mintlify deployment
185-
Integrate your GRES environment with a new Mintlify deployment we provision for you
186-
187-
After that, you should be able to enable Webhooks for your GitHub App - the Webhook URL may change based on our configuration, and we can test integration.
188-
189-
## Testing the Integration
190-
Verify Webhook Delivery
191-
Go to your app settings → "Advanced" tab
192-
Check "Recent Deliveries" for successful webhook deliveries
193-
Look for HTTP 200 responses
194-
Test Repository Access
195-
Create a test issue or pull request in an installed repository
196-
Verify that our service responds appropriately
191+
<Step title="Test repository access">
192+
1. Create a test issue or pull request in an installed repository.
193+
2. Verify that Mintlify responds appropriately.
194+
</Step>
195+
</Steps>
197196

198197
## FAQ and Troubleshooting
199198

200199
<AccordionGroup>
201-
<Accordion title="The app installation is failing with permission errors">
200+
<Accordion title="The app installation is failing with permission errors.">
202201
Ensure you have:
203202

204203
- Site admin privileges for app creation
205-
- Organization owner/admin rights for app installation
206-
- Proper repository permissions if installing on specific repositories
204+
- Organization owner or admin rights for app installation.
205+
- Proper repository permissions if installing on specific repositories.
207206
</Accordion>
208207

209208
<Accordion title="Webhooks aren't being delivered">
210-
- Verify the webhook URL is correct and accessible
211-
- Ensure your firewall allows outbound HTTPS connections
212-
- Check the webhook secret matches what was configured
213-
- Review webhook delivery logs in GitHub App settings → Advanced tab
209+
- Verify the webhook URL is correct and accessible.
210+
- Ensure your firewall allows outbound HTTPS connections.
211+
- Check the webhook secret matches what was configured.
212+
- Review webhook delivery logs in the "Advanced" tab of your GitHub App settings.
214213
</Accordion>
215214

216215
<Accordion title="I'm getting SSL/TLS certificate errors">
217-
Your GRES might use self-signed certificates. Our services cannot verify your server's certificate.
216+
Your GHES might use self-signed certificates. Our services cannot verify your server's certificate.
218217

219-
**Solution:** Ensure your GRES has a valid SSL certificate.
218+
**Solution:** Ensure your GHES has a valid SSL certificate.
220219
</Accordion>
221220

222-
<Accordion title="The app seems to install but doesn't respond to events">
223-
- Ensure webhooks are being delivered and acknowledged by our server with response code 200
224-
- Required permissions were granted during installation
225-
- Ask the Mintlify team if the application is having trouble writing status updates to the GRES (checks, deployments, etc.)
221+
<Accordion title="The app installs, but doesn't respond to events.">
222+
- Ensure webhooks are being delivered and acknowledged by our server with response code 200.
223+
- Required permissions were granted during installation.
226224
</Accordion>
227225

228226
<Accordion title="Can I limit which repositories the app accesses?">
229227
Yes, during installation you can select "Only select repositories" and choose specific ones. You can modify this later in your organization's installed apps settings. This is the recommended form of installation.
230228
</Accordion>
231229

232230
<Accordion title="How do I update app permissions later?">
233-
- Go to the app settings as a site admin
234-
- Modify permissions as needed
235-
- The app will need to be re-approved by organization owners
236-
- Notify us of any permission changes as they may affect functionality
231+
- Go to the app settings as a site admin.
232+
- Modify permissions as needed.
233+
- The app will need to be re-approved by organization owners.
234+
- Notify us of any permission changes as they may affect functionality.
237235
</Accordion>
238236

239-
<Accordion title="Our GRES is behind a corporate firewall/nginx proxy/etc.">
240-
You'll need to:
237+
<Accordion title="Our GHES is behind a corporate firewall, nginx proxy, or similar setup.">
238+
You must:
241239

242-
- Whitelist our service domains in your firewall
243-
- Ensure outbound HTTPS (port 443) connectivity
244-
- Consider setting up a proxy if direct internet access isn't allowed
240+
- Whitelist our service domains in your firewall.
241+
- Ensure outbound HTTPS (port 443) connectivity.
242+
- If direct internet access is not allowed, set up a proxy.
245243
</Accordion>
246244

247-
<Accordion title="Can this work with GRES in air-gapped environments?">
248-
No, your GRES must be able to communicate with our cloud-hosted server.
245+
<Accordion title="Can this work with GHES in air-gapped environments?">
246+
No, your GHES must be able to communicate with our cloud-hosted server.
249247
</Accordion>
250248

251249
<Accordion title="Who should I contact if I need help?">
252-
Please reach out to your customer success representative who you've spoken to at Mintlify, or our support team at [email protected] with:
250+
Please reach out to your customer success representative who you've spoken to at Mintlify, or our support team at <a href="mailto:[email protected]">[email protected]</a> with:
253251

254-
- Your GitHub Enterprise Server version
255-
- Specific error messages
256-
- Screenshots of any issues
257-
- Network/firewall configuration details (if relevant)
252+
- Your GitHub Enterprise Server version.
253+
- Specific error messages.
254+
- Screenshots of any issues.
255+
- Network/firewall configuration details (if relevant).
258256
</Accordion>
259257
</AccordionGroup>
260258

0 commit comments

Comments
 (0)