API Monitoring & Testing: Advanced Webhook Notifications

Note: Advanced Webhooks are disabled by default. If you want to enable them for your team, please contact support.

Advanced Webhooks are a powerful option to integrate Runscope test run notifications with any workflow or 3rd-party application.

This integration allows users to specify a URL, which Runscope will use to send a JSON payload that includes the results of a test run via a POST request. That URL can be the endpoint of a 3rd-party application, or your own application that you can build to receive results of Runscope test runs and then integrate those results to fit into your team's workflow.


How to Use Advanced Webhooks

  • Go your team's Connected Services page.
  • Search for the Advanced Webhooks option, and select "Connect":

The Advanced Webhooks integration description, shown on the user Connected Services page

  • Fill out the required fields:
    • Description: this is the name that will be displayed in your list of Connected Services, and on the Integrations tab of the Environment Settings
    • Threshold: select how often you want the notification to be sent
    • URL: the URL that the POST request will be sent to
    • Authentication: you can add Basic Authentication (username and password) to the request for security purposes
    • Headers: add any custom headers that your application might require
  • Click on Save Changes.
  • Your advanced webhooks integration is now ready to be used! Don't forget to enable the integration on your environment settings to start receiving notifications on the configured callback URLs:

Showing the expanded environment settings on the Runscope test editor, with the Integrations tab selected and the newly created Advanced Webhooks integration toggled on


Webhook Request & Payload

Webhook Request Data

POSTCallback URL(s)

Sample Request Data
{
  "variables": {
  "foo": "bar",
  "baz": "qux"
  },
  "test_id": "76598752-cbda-4e1d-820f-6274a62f74ff",
  "test_name": "Buckets Test",
  "test_run_id": "9c15aa62-21f0-48f2-a819-c99bdf8e4543",
  "team_id": "6b9c7f65-9e11-4f77-85ad-e6ee7a28232d",
  "team_name": "Acme Inc.",
  "environment_uuid": "98290cfc-a008-4ab7-9ea4-8906f12b228f",
  "environment_name": "Staging Settings",
  "bucket_name": "Rocket Sled",
  "bucket_key": "",
  "test_url": "https://www.runscope.com/radar//76598752-cbda-4e1d-820f-6274a62f74ff",
  "test_run_url": "https://www.runscope.com/radar//76598752-cbda-4e1d-820f-6274a62f74ff/results/9c15aa62-21f0-48f2-a819-c99bdf8e4543",
  "trigger_url": "https://api.runscope.com/radar/09039249-fdfd-4e1d-820f-6274a62f74ff/trigger",
  "result": "fail",
  "started_at": 1384281308.548077,
  "finished_at": 1384281310.680218,
  "agent": null,
  "agent_expired": null,
  "region": "us1",
  "region_name": "US East - Northern Virginia",
  "initial_variables": {}, 
  "requests": [{
    "step_type": "request",
    "url": "https://api.runscope.com/",
    "variables": {
        "fail": 0,
        "total": 1,
        "pass": 1
    },
    "assertions": {
        "fail": 0,
        "total": 2,
        "pass": 2
    },         
    "scripts": {
        "fail": 0,
        "total": 1,
        "pass": 1
    },
    "result": "pass",
    "method": "GET",
    "response_time_ms": 123,
    "response_size_bytes": 2048,
    "response_status_code": 200,
    "note": "Root URL"
  }]
  }
Webhook Payload Data Attributes
variables A dictionary containing all initial variables for this test run, and the variables extracted and stored from each step.
test_id The unique ID for the test responsible for this test run.
test_name The name of the test responsible for this test run.
test_run_id The unique ID of this specific test run.
team_id The unique ID of the team this test's bucket belongs to.
team_name The name of the team this test's bucket belongs to.
environment_uuid The UUID of the environment used by this test run.
environment_name The name of the environment used by this test run.
bucket_name The name of the bucket the test belongs to.
bucket_key The key of the bucket the test belongs to.
test_url The URL for this viewing and editing this test in the Runscope dashboard.
test_run_url The URL for the test result detail page in the Runscope dashboard.
trigger_url The Trigger URL for this test. Typically used to retry a test run.
result The result of the test run, either pass or fail.
started_at The UNIX timestamp for the start of the test run.
finished_at The UNIX timestamp for the completion of the test run.
agent The agent used to execute this test run, or null if a default Runscope location was used.
agent_expired The status of the agent for this test run. This is true if the agent is expired, and null if the agent is available or if a default Runscope location was used.
region The region code for the location the test was run from, or null if an agent was used.
region_name The full region name and location the test was run from, or null if an agent was used.
initial_variables A dictionary of the test runs intial variables. This is the variable state after the initial scripts and variables have been processed (bucket-wide and test-specific) prior to the execution of the first request.
requests A list of the HTTP requests that were executed in this test run with the method, URL and assertion, variable and script success/failure counts.

Examples

We have several examples for how you can leverage Advanced Webhooks to fit your own workflow:

Need help? We have you covered.

View the docs or contact our support team and we'll get back to you as soon as we're able to respond.