Création d'un point d'accès à l'API REST dans ServiceNow
A propos de cette tâche
Pour permettre le traitement d'un webhook reçu par IBM Storage Insights, vous devez créer un point de terminaison API REST dans votre instance ServiceNow.
Procédure
Pour créer un point d'accès à l'API REST dans ServiceNow, suivez les étapes suivantes :
- Accédez à votre instance ServiceNow et allez à la page API REST écrites.Pour localiser rapidement la page, entrez "Scripted REST APIs" dans la barre de recherche du menu All .
- Cliquez sur Nouveau.
- Entrez un nom et un ID d'API appropriés.
- Cliquez sur Soumettre.Un nouveau noeud final d'API REST est créé.
- Ouvrez le noeud final d'API REST nouvellement créé à partir de la page API REST scriptées .
- Dans l'onglet Ressources , cliquez sur Nouveau.
- Indiquez un nom pour cette ressource.
- Définissez la méthode HTTP sur POST.
- Coller le fragment de code suivant dans la section Script :
(function process( /*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) { var event = request.body.data; var inc = new GlideRecord('incident'); var prefixMsg = ""; var eventTime = new GlideTime(event.occurrenceTimeInMs || event.occurrenceTime); inc.initialize(); inc.caller_id = event.caller; if (event.alertSource) { prefixMsg = "You don't need to act on this incident as it is generated to verify the webhook connection from your IBM Storage Insights. The webhook connection was successful and the payload received from IBM Storage Insights is as follows: "; inc.impact = 3; inc.urgency = 3; inc.short_description = "The test incident that is generated because you tested the webhook connection from your IBM Storage Insights instance."; inc.description = prefixMsg + JSON.stringify(event, null, '\t'); } else if (event.name == "Ransomware Threat Detection" || event.name == "Workload anomaly event") { prefixMsg = "This incident is created automatically as there was a ransomware threat alert triggered in your IBM Storage Insights. You can take necessary actions to mitigate the issue. The payload received from IBM Storage Insights is as follows: "; inc.impact = 1; inc.urgency = 1; inc.short_description = event.name + " alert was triggered on your IBM Storage Insights on " + eventTime.getByFormat('dd MMMM YYYY'); inc.description = prefixMsg + JSON.stringify(event, null, '\t'); } else { prefixMsg = "This incident is created automatically as there was an alert triggered in your IBM Storage Insights. You can take necessary actions to mitigate the issue. The payload received from IBM Storage Insights is as follows: "; inc.impact = 1; inc.urgency = 1; inc.short_description = event.name + " alert was triggered on your IBM Storage Insights on " + eventTime.getByFormat('dd MMMM YYYY'); inc.description = prefixMsg + JSON.stringify(event, null, '\t'); } inc.insert(); var responseBody = {}; responseBody.message = "Incident created."; responseBody.incidentnumber = inc.number; response.setBody(responseBody); })(request, response);Note: L'extrait de code contient la logique de création de l'incident dans ServiceNow. Les niveaux d' urgence et d' impact de l'incident créé dans ServiceNow sont élevés si une alerte est déclenchée dans IBM Storage Insights. Lorsque vous testez une connexion webhook à partir de IBM Storage Insights, ces champs sont définis à un niveau bas. Vous pouvez affiner le fragment de code en fonction de vos besoins lors de la création d'un incident. - Veillez à ce que Requires authentication soit coché pour utiliser les types d'authentification Basic Auth et OAuth 2.0 afin de valider le webhook dans IBM Storage Insights. Cliquez sur Submit.
- Notez le chemin d'accès à la ressource disponible dans la colonne Chemin d'accès à la ressource de la section Ressources .Le chemin d'accès à la ressource doit être indiqué dans le champ Webhook URL lors de la création d'un webhook dans IBM Storage Insights.