Examiner les webhooks
Vous pouvez automatiser le démarrage d’un runbook en le planifiant ou en utilisant un webhook.
Un webhook vous permet de démarrer un runbook particulier dans Azure Automation par le biais d’une requête HTTPS unique.
Il permet à des services externes, tels que des Azure DevOps, des GitHub ou des applications personnalisées, de démarrer des runbooks sans mettre en œuvre des solutions plus complexes à l’aide de l’API Azure Automation.
Vous trouverez plus d’informations sur les webhooks au Démarrage d’un runbook Azure Automation avec un webhook.
Créer un webhook
Pour créer un webhook lié à un runbook, procédez comme suit :
- Dans le Portail Azure, ouvrez le runbook pour lequel vous souhaitez créer le webhook.
- Dans le volet du runbook, sous Ressources, sélectionnez Webhooks, puis choisissez Ajouter un webhook.
- Sélectionnez Créer un webhook.
- Dans la boîte de dialogue Créer un webhook, vous devez configurer plusieurs valeurs. Après les avoir configurés, sélectionnez Créer:
- Nom. Spécifiez le nom de votre choix pour un webhook, car le nom n’est pas exposé au client. Il sert seulement à identifier le runbook dans Azure Automation.
- Activée. Un webhook est activé par défaut lorsqu’il est créé. Si vous le définissez sur Disabled, aucun client n’est en mesure de l’utiliser.
- Expire. Chaque webhook a une date d’expiration, à laquelle il ne peut plus être utilisé. Vous pouvez continuer à modifier la date après la création du webhook, car le webhook n’est pas arrivé à expiration.
- URL. L’URL du webhook est l’adresse unique appelée par un client avec une requête HTTP POST pour démarrer le runbook lié au webhook. Elle est générée automatiquement lorsque vous créez le webhook et vous ne pouvez pas spécifier une URL personnalisée. L'URL contient un jeton de sécurité qui permet que le Runbook soit appelé par un système tiers sans authentification supplémentaire. Pour cette raison, traitez-le comme un mot de passe. Vous pouvez uniquement afficher l’URL dans le Portail Azure pour des raisons de sécurité lors de la création du webhook. Prenez note de l’URL dans un emplacement sécurisé pour une utilisation ultérieure.
Remarque
Lors de sa création, veillez à copier l’URL du webhook et à la stocker dans un endroit sûr. Une fois le webhook créé, vous ne pouvez plus récupérer l’URL.
Sélectionnez l’option Paramètre d’exécution des paramètres (par défaut : Azure) . Cette option présente les caractéristiques suivantes, qui vous permettent d’effectuer les actions suivantes :
- Si le runbook possède des paramètres obligatoires, vous devez fournir ces paramètres requis lors de la création. Vous n’êtes pas en mesure de créer le webhook, sauf si des valeurs sont fournies.
- S’il n’existe aucun paramètre obligatoire dans le runbook, aucune configuration n’est requise ici.
- Le webhook doit inclure des valeurs pour tous les paramètres obligatoires du runbook et inclure des valeurs pour les paramètres facultatifs.
- Lorsqu’un client démarre un runbook à l’aide d’un webhook, il ne peut pas remplacer les valeurs de paramètre définies.
- Pour recevoir des données du client, runbook peut accepter un paramètre unique appelé $WebhookData de type
[object]
qui contient les données incluses dans la demande de publication par le client. - Aucune configuration de webhook n’est requise pour prendre en charge le paramètre $WebhookData.
Lorsque vous avez terminé, sélectionnez Créer.
Utilisation d'un webhook
Pour utiliser un webhook après sa création, votre application cliente doit émettre une requête HTTP POST avec l'URL du webhook.
La syntaxe du webhook est au format suivant :
http://< Webhook Server >/token?=< Token Value >
Le client reçoit l'un des codes de réponse suivants à la requête POST.
Code Test Description 202 Acceptée La requête a été acceptée et le Runbook a été mis en file d'attente avec succès. 400 Demande incorrecte La demande n’a pas été acceptée, car le runbook a expiré, a été désactivé ou le jeton dans l’URL n’est pas valide. 404 Introuvable La demande n’a pas été acceptée, car le webhook, runbook ou le compte n’a pas été trouvé. 500 Erreur interne du serveur En cas de réussite, la réponse du webhook contient l’ID du travail au format JSON, comme suit :
{"JobIds":["< JobId >"]}
La réponse contient un ID de tâche unique, mais le format JSON permet des améliorations potentielles futures.
Vous ne pouvez pas déterminer à quel moment la tâche runbook se termine ou déterminer son état d’achèvement à partir du webhook. Vous pouvez uniquement choisir ces informations à l’aide de l’ID de travail avec une autre méthode, telle que PowerShell ou l’API Azure Automation.
Vous trouverez plus de détails sur la page Démarrage d’un runbook Azure Automation avec un webhook .