Hoe koppelt u GitHub aan Shopify Flow?
GitHub verstuurt een Webhook telkens wanneer er iets gebeurt in een repository of organisatie - een push, een release, een issue, een pull-verzoek of een Workflow die wordt uitgevoerd. Workflow Webhooks zet die oproep om in een trigger voor Shopify Flow, zodat uw winkel hierop kan reageren: een klant taggen, een opmerking bij een bestelling toevoegen, een interne e-mail versturen, een Metaveld bijwerken - alles wat Shopify Flow kan doen.
Deze handleiding beschrijft het volledige proces - GitHub verzendt, Workflow Webhooks ontvangt en verifieert, Shopify Flow voert de actie uit - waarbij bij elk verzoek de HMAC-handtekening van GitHub wordt gecontroleerd, zodat uitsluitend GitHub uw workflow kan starten.
Wat u kunt bouwen
- Stuur een e-mail naar uw merchandisingteam zodra er een release wordt uitgebracht die de productgegevens wijzigt.
- Vermeld bij elke release de huidige build- of themaversie in een metaveld van de winkel.
- Breng het personeel op de hoogte wanneer een geplande workflow niet wordt uitgevoerd, met behulp van dezelfde Shopify Flow die u al voor andere incidenten gebruikt.
Typische gebeurtenissen die moeten worden verzonden: push, release (gepubliceerd), issues (geopend, gesloten), workflow_run (voltooid).
Voordat u begint
- Workflow Webhooks geïnstalleerd in uw Shopify-winkel.
- Shopify Flow geïnstalleerd, dat gratis te downloaden is via de App Store op Shopify.
- Een GitHub-account met toestemming om webhooks aan te maken.
Stap 1 - Maak de webhook aan op Workflow Webhooks
- Ga naar Workflow Webhooks -> Webhooks -> Maak een webhook aan en geef deze een naam die u in Shopify Flow zult herkennen, zoals
GitHub events. - Kies onder 'Authenticatie' de optie 'HMAC'.
- Kies bij „Signature provider“ de optie GitHub. De app vult de header, het algoritme, de ondertekende payload en het replay-venster automatisch voor u in - u hoeft verder niets meer in te stellen.
- Laat het veld ‘geheim’ voorlopig leeg en klik op ‘Opslaan’. Kopieer de webhook-URL die op de pagina wordt weergegeven.
Zie Authenticatie voor de overige authenticatiemodi en Toewijzing van payloads en Flow-variabelen voor informatie over welke velden naar Shopify Flow worden verzonden.
Stap 2 - Voeg het eindpunt toe in GitHub
Open in de repository (of organisatie) Instellingen -> Webhooks -> Webhook toevoegen, plak de URL als de Payload-URL, stel het inhoudstype in op application/json en vul het geheim in.
Hoe u uw GitHub-ondertekeningsgeheim kunt vinden
De geheime sleutel die u hebt ingesteld voor de GitHub-webhook (Instellingen -> Webhooks -> Geheime sleutel).
In de documentatie van GitHub zelf over webhook-handtekeningen vindt u de exacte tekst en schermafbeeldingen voor uw account.
Plak dat geheim in het veld ‘Secret’ van de webhook op Workflow Webhooks en sla het op. Vanaf dat moment wordt elke GitHub-levering geverifieerd voordat deze Shopify Flow bereikt.
Wat hiermee wordt gecontroleerd
| Wat | Waarde |
|---|---|
| Handtekeningkoptekst | X-Hub-Signature-256 |
| Waar de handtekening staat | De waarde van de header, na het voorvoegsel sha256= |
| Wat is ondertekend? | {body} |
| Handtekening | HMAC-SHA256, in hexadecimale notatie |
| Tijdstempel | Wordt niet gebruikt door deze afzender |
| Bescherming tegen herhaling | Geen - deze afzender ondertekent geen tijdstempel, zodat elke geldige handtekening geldig blijft |
| Het geheim | Wordt als platte tekst gebruikt. Plak de tekst precies zoals de afzender deze weergeeft |
In de ondertekende payload is {body} de onbewerkte verzoektekst, byte voor byte.
Een verzoek dat aan een van deze voorwaarden niet voldoet, wordt afgewezen met de foutmelding 401, wordt vastgelegd in Geschiedenis en probleemoplossing en leidt nooit tot het starten van een workflow.
Stap 3 - Stel de workflow Shopify Flow samen
- Maak in ‘Shopify Flow’ een workflow aan en kies de trigger ‘Workflow Webhooks’.
- Klik op ‘Gebeurtenissen vastleggen’ en verstuur vervolgens een testgebeurtenis vanuit GitHub (of gebruik de optie ‘Test verzenden’ in Workflow Webhooks), zodat Shopify Flow de structuur van uw gegevens leert herkennen.
- Elke webhook die u bezit, activeert dezelfde Shopify Flow-trigger. Voeg daarom een eerste voorwaarde toe op basis van de webhook-id, zodat deze workflow uitsluitend voor GitHub geldt. De id wordt weergegeven op de webhook-pagina.
- Voeg uw acties toe - tag een klant, voeg een notitie toe, verstuur een interne e-mail, werk een metaveld bij.



Stap 4 - Test het van begin tot eind
Activeer een daadwerkelijke gebeurtenis in GitHub. Onder ‘Workflow Webhooks’ -> ‘History’ zou u de aanroep moeten zien met de status ‘Success’. Indien de handtekening onjuist was, krijgt u in plaats daarvan een vermelding van een mislukking met de bijbehorende reden, en op Gecertificeerde webhooks verifiëren vindt u uitleg over de handtekeningtester die u precies laat zien welke stap is mislukt.

De handtekening komt niet overeen▾
In deze bestelling: het geheim (de meest voorkomende oorzaak - een extra spatie of een sleutel uit de verkeerde omgeving), of de afzender het geheim van een ander eindpunt gebruikt, en of er iets tussen GitHub en de app staat dat de body herschrijft. Handtekeningen hebben betrekking op de ruwe bytes, dus een proxy die JSON opnieuw opmaakt, maakt ze ongeldig. De handtekeningcontrole op de webhook-pagina toont de exacte tekst die is ondertekend.
Bij elk verzoek krijg ik een 401-foutmelding▾
Controleer of de authenticatie van de webhook is ingesteld op HMAC met de GitHub-provider geselecteerd, of het geheim is ingevuld en of GitHub berichten verstuurt naar de URL precies zoals deze in de app wordt weergegeven, inclusief de code aan het einde.
Er wordt niets weergegeven in de geschiedenis▾
Het verzoek is nooit aangekomen. Controleer de URL in GitHub nogmaals en bekijk het afleveringslogboek van GitHub zelf om te zien welk antwoord het heeft ontvangen. Een 404 duidt op een onjuiste of verwijderde webhook, een 429 betekent dat u de limiet voor het aantal aanroepen van uw abonnement hebt overschreden - zie Abonnementen en gebruik.
De workflow wordt voor de verkeerde gebeurtenissen uitgevoerd▾
Elke webhook in uw winkel activeert dezelfde Shopify Flow-trigger. Voeg als eerste stap van de workflow een voorwaarde toe op basis van de webhook-ID, of beperk de gebeurtenissen die u vanuit GitHub verstuurt.
Gerelateerd
- Gecertificeerde webhooks verifiëren - elke dienstverlener die wij controleren, en hoe wij een dienstverlener beschrijven die wij niet controleren.
- Toewijzing van payloads en Flow-variabelen - de juiste velden uit de Payload halen en in Shopify Flow invoeren.
- Bescherming tegen dubbele leveringen - wat er gebeurt wanneer GitHub een verzending opnieuw probeert uit te voeren.
- Geschiedenis en probleemoplossing - het logboek van elk verzoek, inclusief de mogelijkheid tot het opnieuw afspelen ervan.

