= {
],
'GitHub App': [
{
- label: 'GitHub App',
+ // The category header above already names the section; this labels the
+ // card that holds the app credentials, next to the webhook base url one.
+ label: 'App configuration',
description:
- 'Configure a self-managed GitHub App to enable git sync without stats.windmill.dev.',
+ 'Use your own GitHub App instead of the Windmill-managed one on stats.windmill.dev.',
key: 'github_enterprise_app',
fieldType: 'github_enterprise_app',
storage: 'setting',
diff --git a/frontend/src/lib/components/instanceSettings/GhesAppSettings.svelte b/frontend/src/lib/components/instanceSettings/GhesAppSettings.svelte
index ae5347d278..da63e8d64a 100644
--- a/frontend/src/lib/components/instanceSettings/GhesAppSettings.svelte
+++ b/frontend/src/lib/components/instanceSettings/GhesAppSettings.svelte
@@ -194,13 +194,34 @@
Callback URL: <your-windmill-url>/gh_success
- Uncheck Active under Webhook (not needed)
+
+ Uncheck Active under Webhook. Windmill registers the webhooks it
+ needs per repository, so the app-level webhook stays unused.
+
3. Set repository permissions:
- Contents: Read & write
- Metadata: Read-only
+
+ Those two are the minimum, for the push direction (Windmill → git). Add these for
+ the pull direction (git → Windmill), all read & write:
+
+
+ -
+ Repository webhooks: deploy commits within seconds instead of
+ polling the repository
+
+ -
+ Pull requests: open pull requests for the branches Windmill pushes,
+ and maintain the deploy-preview comment
+
+ -
+ Checks: post the "Windmill diff" and deploy status checks on commits
+ and pull requests
+
+
4. Under "Where can this GitHub App be installed?", choose
Any account (or restrict to your organization).
@@ -219,7 +240,18 @@
8. The Base URL is your GitHub instance root (e.g.
- https://github.com or https://github.mycompany.com).
+ https://github.com, https://mycompany.ghe.com or
+ https://github.mycompany.com). On GHE Cloud (*.ghe.com), also
+ set App owner to the organization or user that owns the app: its
+ installation urls carry the owner.
+
+
+ Full setup guide: Self-managed GitHub App.