Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
151 changes: 79 additions & 72 deletions docs/self-hosting/govern/integrations/github.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,126 +40,133 @@ Follow these steps to create a GitHub App, set callback URLs, and configure webh

#### GitHub Cloud

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

2. Click **New GitHub App**.
![Create GitHub App](/images/integrations/github/create-github-app.webp#hero)
2. Click **New GitHub App**.

3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**.
![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp#hero)
![Create GitHub App](/images/integrations/github/create-github-app.webp#hero)

4. In the **Identifying and authorizing users** section, add the following **Callback URLS**.
3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**.

```bash
https://<your-domain>/silo/api/github/auth/callback
https://<your-domain>/silo/api/github/auth/user/callback
```
![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp#hero)

These URLs allow Plane to verify and enable workspace connection with the Github App.
![Add Callback URL](/images/integrations/github/add-callback-url.webp#hero)
4. In the **Identifying and authorizing users** section, add the following **Callback URLS**.

:::warning
Make sure to opt out of **Expire user authorization tokens** feature.
:::
```bash
https://<your-domain>/silo/api/github/auth/callback
https://<your-domain>/silo/api/github/auth/user/callback
```

5. In the **Post installation** section, add the below **Setup URL**.
These URLs allow Plane to verify and enable workspace connection with the Github App.

```bash
https://<your-domain>/silo/api/github/auth/callback
```
![Add Callback URL](/images/integrations/github/add-callback-url.webp#hero)

Redirects users to this URL after GitHub app installation.
![Add setup URL](/images/integrations/github/add-setup-url.webp#hero)
:::warning
Make sure to opt out of **Expire user authorization tokens** feature.
:::

6. Turn on **Redirect on update**.
5. In the **Post installation** section, add the below **Setup URL**.

7. In the **Webhook** section, add the below **Webhook URL**.
```bash
https://<your-domain>/silo/api/github/auth/callback
```

```bash
https://<your-domain>/silo/api/github/github-webhook
```
Redirects users to this URL after GitHub app installation.

![Add setup URL](/images/integrations/github/add-setup-url.webp#hero)

This allows Plane to receive updates from GitHub repositories.
6. Turn on **Redirect on update**.

![Add Webhook URL](/images/integrations/github/add-webhook-url.webp#hero)
7. In the **Webhook** section, add the below **Webhook URL**.

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

This allows Plane to receive updates from GitHub repositories.

![Add Webhook URL](/images/integrations/github/add-webhook-url.webp#hero)

== GitHub Enterprise Server {#github-enterprise-server}
These steps cover hostname, callback URLs, and private key differences for on‑prem GitHub deployments.

#### GitHub Enterprise Server

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

2. Click **New GitHub App**.
![Create GitHub App](/images/integrations/github/create-github-app.webp#hero)
2. Click **New GitHub App**.

3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**.
![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp#hero)
![Create GitHub App](/images/integrations/github/create-github-app.webp#hero)

4. In the **Identifying and authorizing users** section, add the following **Callback URLS**.
3. In the **Register new GitHub App** page, provide a **GitHub App name** and **Homepage URL**.

**For Plane cloud instance**
![App name and homepage URL](/images/integrations/github/app-name-homepage-url.webp#hero)

```bash
https://silo.plane.so/api/oauth/github-enterprise/auth/callback
https://silo.plane.so/api/oauth/github-enterprise/auth/user/callback
```
4. In the **Identifying and authorizing users** section, add the following **Callback URLS**.

**For Plane self-hosted instance**
**For Plane cloud instance**

```bash
https://<your-domain>/silo/api/oauth/github-enterprise/auth/callback
https://<your-domain>/silo/api/oauth/github-enterprise/auth/user/callback
```
```bash
https://silo.plane.so/api/oauth/github-enterprise/auth/callback
https://silo.plane.so/api/oauth/github-enterprise/auth/user/callback
```

These URLs allow Plane to verify and enable workspace connection with the Github App.
![Add Callback URL](/images/integrations/github/add-callback-url.webp#hero)
:::warning
Make sure to opt out of **Expire user authorization tokens** feature.
:::
**For Plane self-hosted instance**

5. In the **Post installation** section, add the below **Setup URL**.
```bash
https://<your-domain>/silo/api/oauth/github-enterprise/auth/callback
https://<your-domain>/silo/api/oauth/github-enterprise/auth/user/callback
```

**For Plane cloud instance**
These URLs allow Plane to verify and enable workspace connection with the Github App.
![Add Callback URL](/images/integrations/github/add-callback-url.webp#hero)
:::warning
Make sure to opt out of **Expire user authorization tokens** feature.
:::

```bash
https://silo.plane.so/api/oauth/github-enterprise/auth/callback
```
5. In the **Post installation** section, add the below **Setup URL**.

**For Plane self-hosted instance**
**For Plane cloud instance**

```bash
https://<your-plane-domain>/silo/api/oauth/github-enterprise/auth/callback
```
```bash
https://silo.plane.so/api/oauth/github-enterprise/auth/callback
```

Redirects users to this URL after GitHub app installation.
![Add setup URL](/images/integrations/github/add-setup-url.webp#hero)
**For Plane self-hosted instance**

6. Turn on **Redirect on update**.
```bash
https://<your-plane-domain>/silo/api/oauth/github-enterprise/auth/callback
```

7. In the **Webhook** section, add the below **Webhook URL**.
Redirects users to this URL after GitHub app installation.
![Add setup URL](/images/integrations/github/add-setup-url.webp#hero)

**For Plane cloud instance**
6. Turn on **Redirect on update**.

```bash
https://silo.plane.so/api/github-enterprise/github-webhook
```
7. In the **Webhook** section, add the below **Webhook URL**.

**For Plane self-hosted instance**
**For Plane cloud instance**

```bash
https://<your-plane-domain>/silo/api/github-enterprise/github-webhook
```
```bash
https://silo.plane.so/api/github-enterprise/github-webhook
```

This allows Plane to receive updates from GitHub repositories.
**For Plane self-hosted instance**

![Add Webhook URL](/images/integrations/github/add-webhook-url.webp#hero)
```bash
https://<your-plane-domain>/silo/api/github-enterprise/github-webhook
```

This allows Plane to receive updates from GitHub repositories.

![Add Webhook URL](/images/integrations/github/add-webhook-url.webp#hero)

:::

### Set up permissions and events

1. Add repository and account permissions by setting the **Access** dropdown next to each permission, as shown in the tables below.

![Setup permissions](/images/integrations/github/setup-permissions.webp#hero)

**Repository permissions**
Expand Down
6 changes: 5 additions & 1 deletion docs/self-hosting/govern/plane-ai.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ Supported models:

You can provide API keys for both OpenAI and Anthropic, making all models available to users. If you provide only one key, users will only have access to that provider's models.

:::tip
If you need to use an LLM that isn't from OpenAI or Anthropic — for example, an open-source model or a regional provider for compliance reasons — you can proxy it through [LiteLLM](https://docs.litellm.ai). LiteLLM exposes any LLM behind an OpenAI-compatible API, which Plane can then connect to using the `CUSTOM_LLM_*` variables with `CUSTOM_LLM_PROVIDER=openai`.
:::
Comment on lines +44 to +46
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Wrap the tip text to keep markdown within formatting limits.

Line 45 is far beyond the configured markdown line width and is likely to fail/prevent consistent Prettier formatting.

💡 Proposed formatting fix
 :::tip
-If you need to use an LLM that isn't from OpenAI or Anthropic — for example, an open-source model or a regional provider for compliance reasons — you can proxy it through [LiteLLM](https://docs.litellm.ai). LiteLLM exposes any LLM behind an OpenAI-compatible API, which Plane can then connect to using the `CUSTOM_LLM_*` variables with `CUSTOM_LLM_PROVIDER=openai`.
+If you need to use an LLM that isn't from OpenAI or Anthropic — for example,
+an open-source model or a regional provider for compliance reasons — you can
+proxy it through [LiteLLM](https://docs.litellm.ai). LiteLLM exposes any LLM
+behind an OpenAI-compatible API, which Plane can then connect to using the
+`CUSTOM_LLM_*` variables with `CUSTOM_LLM_PROVIDER=openai`.
 :::

As per coding guidelines, "**/*.{ts,tsx,js,jsx,vue,json,md,mts}: Prettier formatting checks must pass in CI, with 120 character line width, 2-space indent, semicolons, double quotes, and ES5 trailing commas`."

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
:::tip
If you need to use an LLM that isn't from OpenAI or Anthropic — for example, an open-source model or a regional provider for compliance reasons — you can proxy it through [LiteLLM](https://docs.litellm.ai). LiteLLM exposes any LLM behind an OpenAI-compatible API, which Plane can then connect to using the `CUSTOM_LLM_*` variables with `CUSTOM_LLM_PROVIDER=openai`.
:::
:::tip
If you need to use an LLM that isn't from OpenAI or Anthropic — for example,
an open-source model or a regional provider for compliance reasons — you can
proxy it through [LiteLLM](https://docs.litellm.ai). LiteLLM exposes any LLM
behind an OpenAI-compatible API, which Plane can then connect to using the
`CUSTOM_LLM_*` variables with `CUSTOM_LLM_PROVIDER=openai`.
:::
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/self-hosting/govern/plane-ai.md` around lines 44 - 46, The tip block
line exceeds the 120-character Prettier limit; reflow the long sentence inside
the :::tip::: block into multiple shorter lines (wrap the sentence describing
LiteLLM and the use of the CUSTOM_LLM_* variables and
CUSTOM_LLM_PROVIDER=openai) so each markdown line is under 120 characters,
preserving the same content and punctuation.


#### Custom models (self-hosted or third-party)

Plane AI supports custom models through two backends:
Expand All @@ -51,7 +55,7 @@ Plane AI supports custom models through two backends:
One custom model can be configured alongside your public provider keys.

::: warning
The custom model should have at least 100 billion parameters for all Plane AI features to work reliably. Larger, more capable models yield better results.
The custom model should have at least 1 trillion parameters for all Plane AI features to work reliably. Larger, more capable models yield better results.
:::

### Embedding models
Expand Down
Loading