This is the reference documentation for the AssertThat - BDD & Cucumber for Jira REST API. This API is the primary way to get and modify data in the plugin, whether you are developing an app or any other integration. Use it to interact with the plugin for entities, such as features, reports, scenarios and more.
Authentication: All endpoints use basic auth. Refer to Enable & configure AssertThat Plugin to generate API access keys.
Base cloud URL: https://bdd.assertthat.app
Base server URL: your company Jira URL
Postman collection and environment with example requests is available for download below.
Downloading features
Cloud:
GET /rest/api/1/project/{projectId}/features
Server:
GET /rest/assertthat/latest/project/{projectId}/client/features
Parameters
Name | Required | Type | Description |
---|---|---|---|
mode | No | String | One of: automated, manual, both |
jql | No | String | JQL filter for scenarios linked to certain issues |
numbered | No | Boolean | Whether to prepend ordinal to the feature name |
Uploading report
Cloud:
POST/rest/api/1/project/{projectId}/report
Server:
POST/rest/assertthat/latest/project/{projectId}/client/report
Parameters
Name | Required | Type | Description |
---|---|---|---|
runName | No | String | The name of the run. Default |
metadata | No | Json string | Metadata json |
runId | No | Long | If submitting new report set to -1. If adding test results to existing should be set to the value return when submitting new report. |
form-data: file | Yes | Json file | Cucumber json report file |
type | No | String | One of: cucumber, karate. Defaults to cucumber. |
customRunId | No | String | Overrides runId |
Updating scenario status
Cloud:
PUT /rest/api/1/project/{projectId}/scenario/status
Body:
{ "featureName": "Feature name", "scenarioName": "Scenario Name", "issueKey": "XXX-123", "comment": "comment", "status": "NOT_RUN | PASSED | FAILED | IN_PROGRESS" }
Get test runs
Cloud:
GET /rest/api/1/project/{projectId}/report/runs
Server:
GET /rest/assertthat/latest/project/{projectId}/client/report/runs
Parameters
Name | Required | Type | Description |
---|---|---|---|
length | No | int | Number of records to return. Default is 10 |
start | No | int | Start index. Default is 0 |
Upload feature
Cloud:
POST /rest/api/1/project/{projectId}/feature
Server:
POST /rest/assertthat/latest/project/{projectId}/client/upload
Name | Required | Type | Description |
---|---|---|---|
override | No | boolean | Whether to override feature if exists with same name |
form-data: file | Yes | file | Feature file to upload |
Get scenarios report
Cloud:
GET /rest/api/1/project/{projectId}/scenarios/report
Server:
GET /rest/assertthat/latest/project/{projectId}/client/report/runs
Parameters
Name | Required | Type | Description |
---|---|---|---|
length | No | int | Number of records to return. Default is 10 |
start | No | int | Start index. Default is 0 |
Get scenarios executions
Server:
GET /rest/assertthat/latest/project/{projectId}/client/scenarios/report/executions
Parameters
Name | Required | Type | Description |
---|---|---|---|
length | No | int | Number of records to return. Default is 10 |
start | No | int | Start index. Default is 0 |
Upload scenario executions
Cloud:
POST /rest/api/1/project/{projectId}/scenarios/execution
Body:
{ "scenarioName": "Exanple scenario", "featureName": "Example feature", "executions": [ { "id": 100, "status": "PASSED", "issueKey": "DEMO-1", "comment": "Example comment", "userId": 10000, "userEmail": "admin@admin.com", "timestamp": 1624908743000 }, { "id": 101, "status": "IN_PROGRESS", "issueKey": "DEMO-1", "comment": "Example comment 2", "userId": 10000, "userEmail": "admin@admin.com", "timestamp": 1624908812000 } ] }