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.
How to Use Advanced Webhooks
Follow these steps:
- Go your team's Connected Services page.
- Search for the advanced webhooks option, and select Connect:
- 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.
- 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.
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. |