Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-15-2023 03:09 AM
After much trial and error, I've got this working. The main issue was incomplete and incorrect @Servicenow_1 documentation. The following steps are needed to fully complete this integration:
ServiceNow Configuration
- Create a new HTTP(S) Endpoint CI record with the URL "https://<instance_name>.service-now.com/api/sn_em_connector/em/inbound_event?source=thousandeyes"
- Create a service account for ThousandEyes in the sys_user table with the roles web_service_admin, and evt_mgmt_integration
- Create an Oauth Configuration for the ThousandEyes Push Connector
- Navigate to All > System OAuth > Application Registry and then select New.
- Select Create an OAuth API endpoint for external clients.
- Add the following Redirect URLs as a comma-separated list
ThousandEyes Configuration
- Create an Integration: Click Integrations in the left side bar menu, then the New Integration button.
- Complete the form as follows:
- Name - can be anything
- URL = Endpoint URL from the HTTP(S) Endpoint CI record, e.g "https://<instance_name>.service-now.com/api/sn_em_connector/em/inbound_event?source=thousandeyes"
- Preset Configurations = Generic
- Auth Type = OAuth Code
- Auth URL = https://<instance_name>.service-now.com/oauth_auth.do
- Token URL = https://<instance_name>.service-now.com/oauth_token.do
- Client ID = copied from Oauth Configuration
- Client Secret = copied from Oauth Configuration
- Click Get Token. This will open a ServiceNow login page. Enter the credential for the service account created in a previous step.
- Click Login, then click Allow
- You will be redirected back to the previous page. Click Save to save the custom webhook configuration
- Check in ServiceNow logs for a log entry confirmation:
- source = OAUTH_SERVER
- level = Information
- message similar to "OAuth token(s) of access_token refresh_token is/are granted to app:ThousandEyes;grant_type:authorization_code;user:thousandeyes"
- Back in ThousandEyes Integration window, click the custom webhook, status = Untested, to open it.
- Click Test
- Wait for the following message
- Click Save again Webhook status should now be Connected. The integration is now complete
- Create a test - Alerts > Alert Rules in the left hand side bar menu.
- Select any rule
- Click Notification.
- Under Webhooks, click Edit webhooks.
- Click Add New Webhook
- Auth Type = Oauth
- Name = can be anything
- URL = Endpoint URL from the HTTP(S) Endpoint CI record, e.g "https://<instance_name>.service-now.com/api/sn_em_connector/em/inbound_event?source=thousandeyes"
- Grant Type = Implicit
- Auth URL = https://<instance_name>.service-now.com/oauth_auth.do
- Client ID = copied from Oauth Configuration
- Click Get Token. This will open a ServiceNow login page. Enter the credential for the service account created in a previous step.
- Click Login, then click Allow
- You will be redirected back to previous ThousandEyes window. Wait for "Token retrieved successfully" confirmation
- Click Test. Wait for "Webhook test completed successfully" confirmation.
- Click Save Webhook.
- This will have created a test Event in Servicenow:
- Open Servicenow. Open All Events. Look for an event with event source = ThousandEyes, Description = WEBHOOK_TEST, e.g
- The configuration is now complete. The integration and webhook are now connected to your ServiceNow instance, and Event Management can now be configured to process incoming events from ThousandEyes.