Poser le webhook GitHub
Avec le webhook GitHub, Astrolabe apprend un push, un tag, une release ou un workflow dès qu'il arrive. L'onglet Événements de chaque composant se remplit, et les personnes concernées sont prévenues quand un workflow échoue.
Tu le fais une fois, en tant qu'administrateur : un secret dans Astrolabe, puis le même secret dans GitHub.
Avant de commencer
- GitHub est configuré dans Administration › Connexions de l'entreprise. Sans lui, l'écran Webhooks n'a pas de carte GitHub.
- Les plugins GitHub et Événements sont allumés dans Administration › Plugins.
- Choisis un secret : un long texte au hasard. Tu écris le même dans GitHub.
🔧 Enregistrer le secret dans Astrolabe
-
Dans la barre latérale, en bas, clique sur Administration.
-
Sous PLATEFORME, clique sur Webhooks.
-
Sur la carte GitHub, clique sur Configurer.
-
Dans la fenêtre Configurer le secret GitHub, à côté de Adresse du webhook, clique sur Copier l'adresse. Garde cette adresse : tu la colles dans GitHub plus bas. Elle finit par
/api/orion-events/github, par exemplehttps://astrolabe.exemple.com/api/orion-events/github. -
Dans Secret du webhook, tape ton secret, par exemple
un-long-texte-au-hasard. -
Clique sur Enregistrer.
La carte dit maintenant Aucun appel reçu depuis le démarrage d'Astrolabe. et propose Gérer.
GitHub ne se connecte jamais : laisse passer son adresse, sinon ses appels n'arrivent jamais à Astrolabe. Voir Ouvrir Astrolabe à tes outils.
🔧 Ajouter le webhook dans GitHub
Pose-le sur l'organisation pour couvrir tous ses dépôts d'un coup, ou sur un seul dépôt. Cette partie se passe dans GitHub et n'a pas été vérifiée sur une instance.
-
Dans GitHub, ouvre ton organisation (ou le dépôt), puis Settings › Webhooks.
-
Clique sur Add webhook.
-
Remplis le formulaire :
Champ Quoi écrire Payload URL L'adresse copiée dans Astrolabe Content type application/jsonSecret Le même secret que dans Astrolabe SSL verification Enable SSL verification -
Sous Which events would you like to trigger this webhook?, choisis Let me select individual events., puis coche :
Événement Ce qu'Astrolabe en fait Pushes Une ligne par commit dans l'onglet Événements Branch or tag creation Une ligne par tag Releases Une ligne par release publiée Workflow runs Début et fin de chaque workflow, et une notification quand il échoue Workflow jobs L'étape en échec d'un workflow Pull requests Une notification aux propriétaires du composant Pull request reviews Une notification aux propriétaires du composant -
Laisse Active coché et clique sur Add webhook.
GitHub envoie aussitôt un premier appel de test.
🔗 Relier un dépôt à son composant
Astrolabe range un événement sur le composant dont le catalog-info.yaml nomme le dépôt :
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: order-service
annotations:
github.com/project-slug: acme/order-service
spec:
type: service
lifecycle: production
owner: team-checkout
La valeur est <organisation>/<dépôt>, exactement comme dans l'adresse du dépôt sur GitHub.
✅ Vérifier que ça marche
-
Pousse un commit sur un dépôt relié.
-
Dans Administration › Webhooks, la carte GitHub dit Dernier appel accepté le suivi d'une date.
-
Dans le Catalogue, ouvre le composant, puis son onglet Événements. Le commit y est, par exemple Dev Acme a poussé le commit d448215 sur main — « Fix the checkout total ».
✅ C'est tout !
Problèmes courants
| Ce que tu vois | Que faire |
|---|---|
| Sur la carte GitHub, Refusé (1), la dernière fois le … : la source signe avec un autre secret que celui d'Astrolabe : mets le même des deux côtés. | Clique sur Gérer, Remplacer, tape le secret que GitHub utilise et clique sur Enregistrer. Ou mets le secret d'Astrolabe dans le webhook GitHub. |
| Sur la carte GitHub, Refusé (1), la dernière fois le … : la source n'envoie aucun secret : mets le même secret dans les réglages de son webhook. | Le webhook GitHub n'a pas de Secret. Modifie-le dans GitHub et tape le même secret que dans Astrolabe. |
La carte dit toujours Aucun appel reçu depuis le démarrage d'Astrolabe., et dans GitHub, sous Recent Deliveries, la réponse d'un appel est une page de connexion au lieu de Received | Un proxy de connexion répond à la place d'Astrolabe. Laisse passer l'adresse : Ouvrir Astrolabe à tes outils. |
La carte dit toujours Aucun appel reçu depuis le démarrage d'Astrolabe., et dans GitHub l'appel répond 400 avec unsupported media type application/x-www-form-urlencoded | Content type vaut application/x-www-form-urlencoded. Modifie le webhook dans GitHub et choisis application/json. |
| Sur la carte GitHub, 2 événements n'ont atteint personne : le plugin de cette source est éteint, ses événements sont abandonnés. Allume-le dans Administration › Plugins. | Dans Administration › Plugins, allume GitHub. |
| La carte dit Dernier appel accepté, mais l'onglet Événements du composant reste vide | Le dépôt n'est pas relié au composant. Vérifie github.com/project-slug dans son catalog-info.yaml : <organisation>/<dépôt>, comme sur GitHub. |
| L'onglet Événements montre les pushs mais aucun workflow | Workflow runs n'est pas coché dans le webhook GitHub. Modifie-le et coche-le. |
| Pas de carte GitHub sur l'écran Webhooks | GitHub n'est pas configuré dans Administration › Connexions de l'entreprise. Configure-le d'abord. |
Écris à support@forgeit.fr avec ce que dit la carte GitHub.
La suite : Vérifier que tes outils joignent Astrolabe.