Configurer un webhook pour un dépôt GitHub

Effectué

Dans GitHub, les webhooks peuvent être définis pour une organisation ou un dépôt spécifique. Un webhook est déclenché chaque fois qu’un ou plusieurs événements auxquels vous êtes abonné se produisent. Par exemple, l’événement Gollum vous permet d’écouter les mises à jour du wiki, en particulier, la création et les mises à jour d’une page wiki.

Dans cette unité, vous allez voir comment configurer un webhook qui écoute un événement de changement dans le wiki GitHub de votre société.

Configuration d’un webhook

La configuration d’un webhook se déroule en deux étapes. Tout d’abord, vous spécifiez dans GitHub comment vous souhaitez que votre webhook se comporte et quels événements il doit écouter. Ensuite, vous configurez votre fonction dans Azure Functions pour recevoir et gérer la charge utile provenant du webhook. Dans l’exemple de scénario, nous allons installer un webhook pour un dépôt spécifique.

Pour configurer le webhook, dans le portail GitHub, sélectionnez Paramètres dans la barre de menus supérieure. La page Paramètres s’affiche, avec le nom de votre dépôt. Dans le menu de gauche, sélectionnez Webhooks, puis Ajouter un webhook. Vous pouvez également créer et gérer un webhook via l’API Webhooks, ce qui n’est pas abordé dans ce module.

Les webhooks nécessitent une certaine configuration avant de pouvoir être utilisés. Nous allons passer en revue chacun de ces paramètres.

URL de la charge utile

L’URL de la charge utile est l’URL du serveur qui reçoit les requêtes POST des webhooks.

Chaque type d’événement a un format de charge utile spécifique. Cette charge utile contient des informations sur l’événement qui a déclenché le webhook.

Type de contenu

Les webhooks peuvent être remis à l’aide de deux types de contenu :

  • Le type de contenu application/json remet la charge utile JSON directement dans le corps d’une requête POST.
  • Le type de contenu application/x--www-form-urlencoded envoie la charge utile JSON sous la forme d’un paramètre de formulaire appelé charge utile.

Remarque

La page Add webhook (Ajouter un webhook) vous permet également de spécifier comment protéger les informations envoyées par le webhook à l’aide d’un secret. Ce sujet est abordé plus loin dans ce module.

Événements

Les événements sont au centre des webhooks. Les événements se produisent quand des actions sont entreprises dans le dépôt. Quand l’événement se produit, le webhook se déclenche et appelle l’URL que vous spécifiez, en envoyant les informations de charge utile et d’événement à votre URL. Par exemple, pour répondre chaque fois qu’un problème est signalé dans un dépôt, sélectionnez Let me select individual events (Choisir les événements), puis cochez la case Issues (Problèmes). Veillez à cocher la case Active pour recevoir les événements liés aux problèmes concernant les webhooks déclenchés. Sélectionnez ensuite Ajouter un webhook pour activer le déclencheur.

Pour écouter les mises à jour apportées au wiki du dépôt, cochez la case Wiki. Cet événement est l’événement Gollum mentionné précédemment. Sélectionnez Ajouter un webhook pour enregistrer tous les événements individuels que vous avez sélectionnés.

Pour connaître la liste complète des événements de webhook et savoir quand ils peuvent être exécutés, consultez Événements des webhooks GitHub.

Dans l’exercice suivant, nous allons vous guider tout au long du processus de configuration d’un webhook pour un dépôt GitHub.