GitHub integration setup guide is missing the webhook secret configuration step, causes silent failure of all webhook processing
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 75/100
- Tipo di issue
- Documentazione
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- github
- Ambito
- documentation
Direzione di ricerca
Individua la guida alla configurazione dell'integrazione GitHub per il self-hosting e leggi la sezione "Create GitHub App" intorno al passaggio 7, incluse le istruzioni esistenti sull'URL del webhook. Aggiungi il passaggio richiesto Webhook Secret con il valore WEBHOOK_SECRET e spiega l'effetto di una mancata corrispondenza; il lavoro è completato quando la guida descrive chiaramente la configurazione per la sincronizzazione di issue e PR senza estendersi al suggerimento opzionale di health-check dell'UI.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The self-hosting GitHub integration setup guide walks users through creating a GitHub App and configuring the webhook URL, but does not document that the GitHub App's Webhook Secret field must be set to match the instance's WEBHOOK_SECRET environment variable (default: plane-silo).
Without this configuration, silo's HMAC-SHA256 signature verification silently fails for every incoming webhook. The webhook endpoint returns 202 (accepted) and logs the arrival, but no downstream processing occurs. No error is logged. There is no UI indication that anything is wrong — the integration appears correctly configured (workspace connected, entity sync enabled, PR state mapping saved) but no sync actually happens.
Impact:
I spent approximately 14 hours over two sessions debugging this exact issue before discovering the undocumented webhook secret requirement. I tried rotating credentials, fixing URL schemes (http→https in multiple env vars and oauth_applications table rows), re-encoding private keys, container recreation, database state verification, and numerous other paths before realizing the webhook secret field on the GitHub App side was empty while silo expected a matching value.
The failure mode is particularly hard to diagnose because:
Setup appears successful at every visible step
Silo logs the webhook arrival ("Github Webhook Payload") and returns 202
No error is surfaced anywhere — to users or to admins
Signature verification failure is not logged
Proposed documentation change:
In the "Create GitHub App" section, after the "Webhook URL" step (step 7), add a new step:
Webhook Secret (Required)
In the Webhook section, set the Secret field to match your Plane instance's WEBHOOK_SECRET environment variable. The default value is plane-silo.
Without a matching webhook secret, silo's signature verification will silently reject every incoming webhook and the integration will appear working but produce no sync activity. This is required for both issue and PR sync to function.
Additional suggestion:
Consider surfacing a health check or warning in the Plane UI when webhooks are arriving at silo but failing signature verification. Silent-drop failure modes are very difficult for users to self-diagnose.
- Lingua principale
- JavaScript
- Stelle
- 16
- Fork
- 23
- Merge medio
- 46m
- PR unite (30g)
- 1
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di makeplane/developer-docs
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
makeplane/developer-docs#269 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
makeplane/developer-docs#262 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
makeplane/developer-docs#181 ·
Tutte le issue di makeplane/developer-docs
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
HarperFast/skills#96 ·
-
[Block] Latest Posts [Type] Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Daemon passes --experimental-wasm-jspi unconditionally on Node >= 24; Node 26 rejects the flag Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Automattic/studio#4908 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
sugarlabs/musicblocks#8847 ·