Gérer les Webhooks des Workspaces

Les Webhooks permettent à NeoLoad Web d'envoyer des notifications à des serveurs externes via une requête HTTP.

Grâce aux Webhooks, NeoLoad Web peut envoyer une notification lorsqu'un événement NeoLoad Web est déclenché.

Par exemple, une notification peut être envoyée à votre outil de collaboration d'équipe lorsqu'un test démarre ou se termine.

Note : La création de Webhooks n'est autorisée que pour les profils Administrateurs. D'autre part, les Webhooks sont propres au Compte et au Workspace dans lequel ils ont été créés.

Créer/Ajouter un Webhook

Si aucun Webhook n'est disponible dans l'onglet Webhooks, il est facile d'en créer un en cliquant sur le bouton Create a Webhook.

Après avoir créé votre premier Webhook, vous pouvez en ajouter d'autres en cliquant sur le bouton Add a Webhook.

NLW-WebhookCreation-1.4

La section Event permet de définir si une notification doit être envoyée lorsqu'un test commence ou se termine. Les options Test started et Test ended doivent être sélectionnées en conséquence.

La section Filters permet de définir les conditions pour lesquelles une notification est envoyée. Si au mois une condition de filtre n'est pas respectée, aucune notification n'est envoyée.

Attention : Le fait de cocher la case de plusieurs filtres les combine.

Test Name : Un clic sur la case à cocher permet de filtrer la notification d'événement en fonction du nom du paramètre de test. Les options possibles sont "contient" et "ne contient pas". Elles s'appliquent au champ en face dans lequel une chaine de caractère doit être entrée.

Project Name : un clic sur la case à cocher permet de filtrer la notification d'événement par nom de projet. Les options possibles sont "contient" et "ne contient pas". Elles s'appliquent au champ en face dans lequel une chaine de caractère doit être entrée.

Scenario Name : un clic sur la case à cocher permet de filtrer la notification d'événement par nom de scénario. Les options possibles sont "contient" et "ne contient pas". Elles s'appliquent au champ en face dans lequel une chaine de caractère doit être entrée.

Test Quality Status : ce filtre n'est disponible que pour les tests terminés. Les options possibles sont "est égal à" et " est différent de ". Elles s'appliquent au champ en face dans lequel vous pouvez choisir d'être notifié lorsqu'un test a réussi ou échoué.

Test Max Nb of VUs : Un clic sur la case à cocher permet de filtrer la notification d'événement en fonction du nombre maximal de VU utilisés dans le test. Pour une notification d'un test démarré, la valeur est une estimation du nombre maximum de VU qui serait atteint en fonction de la politique de charge et de la durée initiale du test. Pour une notification de fin de test, la valeur est le nombre maximal exact de VU atteint pendant le test.
Les options de sélection sont "is greater than" et "is lower than". Elles s'appliquent au champ en face dans lequel une valeur numérique doit être entrée.

Test Duration : Un clic sur la case à cocher permet de filtrer la notification d'événement en fonction de la durée du test. Pour une notification de début de test, si le test est défini avec une durée indéterminée, le filtre n'est pas applicable.
Les options de sélection sont "is longer than" et "is shorter than". Elles s'appliquent au champ en face dans lequel une valeur de format de durée doit être entrée sous la forme "HH:MM:SS".

Name : Ce champ doit être rempli avec le nom à attribuer au Webhook.

URL : L'URL du serveur auquel la notification doit être envoyée. Une URL valide est obligatoire.

Events : Les boutons radio permettent de sélectionner les événements NeoLoad Web qui déclencheront l'envoi de la charge utile à l'URL spécifiée ci-dessus.

Payload : La zone de texte doit être remplie avec le contenu à envoyer dans la notification. Le format du contenu du payload est relatif au serveur qui reçoit le payload.

Le contenu de la charge utile peut inclure des variables NeoLoad Web telles que décrites dans le tableau ci-dessous.

NLW-Webhooks-VariablesTable

Ci-dessous, un exemple d'un payload configuré pour envoyer une notification de fin de test vers Slack.

{
  "attachments": [
    {
      "fallback": "Required plain-text summary of the attachment.",
      "color": "#36a64f",
      "pretext": "A test just ended",
      "author_name": "NeoLoad Web",
      "author_link": "https://neoload.saas.neotys.com/",
      "title": "Details of test '$(test_result_name)'",
      "title_link": "$(url_test_result_overview)",
      "fields": [
        {
          "title": "Test Name",
          "value": "$(test_settings_name)",
          "short": true
        },
        {
          "title": "Project",
          "value": "$(test_result_project)",
          "short": true
        },
        {
          "title": "Scenario",
          "value": "$(test_result_scenario)",
          "short": true
        },
        {
          "title": "Author",
          "value": "$(test_result_author)",
          "short": true
        },
        {
          "title": "Start Date",
          "value": "$(test_result_start_date)",
          "short": true
        },
        {
          "title": "Duration",
          "value": "$(test_result_duration)",
          "short": true
        },
        {
          "title": "Status",
          "value": "$(test_result_status)",
          "short": true
        },
        {
          "title": "Quality Status",
          "value": "$(test_result_quality_status)",
          "short": true
        },
        {
          "title": "Max # of VUs",
          "value": "$(test_result_max_nb_vus)",
          "short": true
        },
        {
          "title": "Workspace ID",
          "value": "$(workspace_id)",
          "short": true
        },
        {
          "title": "Workspace Name",
          "value": "$(workspace_name)",
          "short": true
        }
      ],
      "footer": "Sent by NeoLoad Web",
      "footer_icon": "https://www.neotys.com/wp-content/uploads/2018/05/Picto_NL_64.png",
      "image_url": "$(url_graph_overview)"
    }
  ]
}

Content-Type : Le champ doit être rempli avec le format de charge utile attendu par le serveur.

Un clic sur le bouton TEST permet de vérifier si l'URL est valide et si le format de la charge utile est pris en charge.

Une fois créé, le Webhook est répertorié dans l'onglet Webhooks. Par défaut, le Webhook est activé. Un clic sur l'icône Enable permet d'activer/désactiver le Webhook.

NLW-WebhooksEnablebutton

Pour créer un Webhook, procédez comme suit :

  1. Dans le panneau de navigation de gauche, cliquez sur Settings et sélectionnez l'onglet Workspaces.

    Tous les Workspaces de votre Compte sont listés dans le panneau central.

  2. Dans la liste Workspace, sélectionnez l'Espace de travail pour lequel vous souhaitez créer un Webhook.

  3. Sélectionnez l'onglet Webhooks.

  4. Cliquez sur le bouton Create a Webhook pour en créer un ou sur le bouton Add a Webhook pour en ajouter un si des Webhooks sont déjà disponibles.

  5. Dans le champ Name, entrez le nom à attribuer au Webhook.

  6. Dans le champ URL, entrez une URL valide vers le serveur auquel la notification est envoyée.

  7. Si nécessaire, configurez les filtres requis.

  8. Sélectionnez l'option Test started pour envoyer la charge utile lorsqu'un test démarre ou l'option Test ended lorsqu'un test est terminé.

  9. Remplissez la zone de texte Payload avec le contenu à inclure dans la notification.

  10. Remplissez le champ Content-Type avec le format de charge utile attendu par le serveur.

  11. Définissez les filtres pour votre Webhook si nécessaire.

  12. Cliquez sur Test pour vérifier la configuration.

  13. Cliquez sur Save pour valider la création du Webhook.

Éditer un Webhook

Chaque Webhook disponible dans l'onglet Webhooks peut être modifié en cliquant sur le bouton Edit.

NLW-WebhooksEditbutton

Éditer un Webhook permet de modifier ses paramètres entrés lors de sa création.

Pour modifier un Webhook, procédez comme suit :

  1. Dans le panneau de navigation de gauche, cliquez sur Settings et sélectionnez l'onglet Workspaces.

    Tous les Workspaces de votre Compte sont listés dans le panneau central.

  2. Dans la liste Workspace, sélectionnez l'Espace de travail pour lequel vous souhaitez créer un Webhook.

  3. Sélectionnez l'onglet Webhooks.

  4. Dans la liste des Webhooks disponibles, cliquez sur le bouton Edit en face du Webhook que vous souhaitez modifier.

  5. Dans la boîte de dialogue Webhook Configuration, modifiez les paramètres comme décrit dans la section Create/Add a Webhook.

  6. Cliquez sur Save pour confirmer les modifications.

Dupliquer un Webhook

Chaque Webhook peut être facilement dupliqué afin de vous aider à gagner du temps pour la création de Webhooks.

NLW-WebhooksDuplicatebutton

Un clic sur l'icône Duplicate duplique le Webhook sélectionné.

Pour dupliquer un Webhook, procédez comme suit :

  1. Dans le panneau de navigation de gauche, cliquez sur Settings et sélectionnez l'onglet Workspaces.

    Tous les Workspaces de votre Compte sont listés dans le panneau central.

  2. Dans la liste Workspace, sélectionnez l'Espace de travail pour lequel vous souhaitez créer un Webhook.

  3. Sélectionnez l'onglet Webhooks.

  4. Dans la liste des Webhooks disponibles, cliquez sur l'icône Duplicate en face du Webhook à dupliquer.

Supprimer un Webhook

Lorsqu'un Webhook n'est plus nécessaire, un clic sur le bouton Delete permet de le supprimer.

NLW-WebhooksDeleteButton

De plus, tous les Webhooks de la liste des Webhooks peuvent être supprimés en une seule fois en cliquant sur le bouton Delete après avoir coché la case Name.

NLW-WebhooksDeleteAll

Pour supprimer un Webhook, procédez comme suit :

  1. Dans le panneau de navigation de gauche, cliquez sur Settings et sélectionnez l'onglet Workspaces.

    Tous les Workspaces de votre Compte sont listés dans le panneau central.

  2. Dans la liste Workspace, sélectionnez l'Espace de travail pour lequel vous souhaitez créer un Webhook.

  3. Sélectionnez l'onglet Webhooks.

  4. Cliquez sur le bouton Delete en face du Webhook que vous souhaitez supprimer.

  5. Confirmez la suppression dans la boîte de dialogue Deleting Webhook.