Advanced Webhooks

API Monitoring & Testing: Advanced Webhooks Notifications

Advanced webhooks are a powerful option to integrate BlazeMeter API Monitoring test run notifications with any workflow or third-party application.

This integration allows users to specify a URL, which BlazeMeter 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 BlazeMeter API Monitoring test runs and then integrate those results to fit into your team's workflow.

Advanced webhooks are a team-level feature. To enable advanced webhooks for your team, contact BlazeMeter Support.

How to Use Advanced Webhooks

Follow these steps:

  1. Go your team's Connected Services page.
  2. Search for the advanced webhooks option, and select Connect:
    The Advanced Webhooks integration description, shown on the user Connected Services page
  3. Fill in 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.
  4. Click Save Changes.

Your advanced webhooks integration is now ready to be used. Do not 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 API Monitoring dashboard.
test_run_url The URL for the test result detail page in the API Monitoring 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 API Monitoring 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 API Monitoring 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.