Test Suites - Create
Create a test suite.
POST https://dev.azure.com/{organization}/{project}/_apis/test/Plans/{planId}/suites/{suiteId}?api-version=5.0
URI Parameters
Name | In | Required | Type | Description |
---|---|---|---|---|
organization
|
path | True |
string |
The name of the Azure DevOps organization. |
plan
|
path | True |
integer int32 |
ID of the test plan that contains the suite. |
project
|
path | True |
string |
Project ID or project name |
suite
|
path | True |
integer int32 |
ID of the parent suite. |
api-version
|
query | True |
string |
Version of the API to use. This should be set to '5.0' to use this version of the api. |
Request Body
Name | Type | Description |
---|---|---|
name |
string |
Name of test suite. |
queryString |
string |
For query based suites, query string that defines the suite. |
requirementIds |
integer[] |
For requirements test suites, the IDs of the requirements. |
suiteType |
string |
Type of test suite to create. It can have value from DynamicTestSuite, StaticTestSuite and RequirementTestSuite. |
Responses
Name | Type | Description |
---|---|---|
200 OK |
successful operation |
Security
oauth2
Type:
oauth2
Flow:
accessCode
Authorization URL:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token URL:
https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer
Scopes
Name | Description |
---|---|
vso.test_write | Grants the ability to read, create, and update test plans, cases, results and other test management related artifacts. |
Examples
Based on a query |
Based on requirements |
Static suite |
Based on a query
Sample request
POST https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/suites/1?api-version=5.0
{
"suiteType": "DynamicTestSuite",
"name": "AllTestCases",
"queryString": "SELECT [System.Id],[System.WorkItemType],[System.Title],[Microsoft.VSTS.Common.Priority],[System.AssignedTo],[System.AreaPath] FROM WorkItems WHERE [System.WorkItemType] IN GROUP 'Microsoft.TestCaseCategory'"
}
Sample response
{
"value": [
{
"id": 9,
"name": "AllTestCases",
"url": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/Suites/9",
"project": {
"id": "eb6e4656-77fc-42a1-9181-4c6d8e9da5d1",
"name": "Fabrikam-Fiber-TFVC",
"url": "https://dev.azure.com/fabrikam/_apis/projects/Fabrikam-Fiber-TFVC"
},
"plan": {
"id": "1",
"name": "sprint1",
"url": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1"
},
"parent": {
"id": "1",
"name": "sprint1",
"url": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/Suites/1"
},
"queryString": "SELECT [System.Id],[System.WorkItemType],[System.Title],[Microsoft.VSTS.Common.Priority],[System.AssignedTo],[System.AreaPath] FROM WorkItems WHERE [System.WorkItemType] IN GROUP 'Microsoft.TestCaseCategory'",
"revision": 1,
"testCaseCount": 2,
"suiteType": "DynamicTestSuite",
"testCasesUrl": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/Suites/9/testcases",
"inheritDefaultConfigurations": true,
"lastPopulatedDate": "2014-05-04T11:33:28.497Z",
"state": "InProgress",
"lastUpdatedBy": {
"id": "e5a5f7f8-6507-4c34-b397-6c4818e002f4",
"displayName": "Fabrikam Fiber",
"uniqueName": "fabrikamfiber1@outlook.com",
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/e5a5f7f8-6507-4c34-b397-6c4818e002f4",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=e5a5f7f8-6507-4c34-b397-6c4818e002f4"
},
"lastUpdatedDate": "2014-05-04T11:33:28.497Z"
}
],
"count": 1
}
Based on requirements
Sample request
POST https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/suites/1?api-version=5.0
{
"suiteType": "RequirementTestSuite",
"requirementIds": [
2
]
}
Sample response
{
"value": [
{
"id": 13,
"url": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/Suites/13",
"project": {
"id": "eb6e4656-77fc-42a1-9181-4c6d8e9da5d1",
"name": "Fabrikam-Fiber-TFVC",
"url": "https://dev.azure.com/fabrikam/_apis/projects/Fabrikam-Fiber-TFVC"
},
"plan": {
"id": "1",
"name": "sprint1",
"url": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1"
},
"parent": {
"id": "1",
"name": "sprint1",
"url": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/Suites/1"
},
"name": "2 : BestFeatureEver",
"requirementId": 2,
"revision": 1,
"testCaseCount": 0,
"suiteType": "RequirementTestSuite",
"testCasesUrl": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/Suites/13/testcases",
"inheritDefaultConfigurations": true,
"defaultConfigurations": [],
"lastPopulatedDate": "2014-05-04T11:33:25.857Z",
"state": "InProgress",
"lastUpdatedBy": {
"id": "e5a5f7f8-6507-4c34-b397-6c4818e002f4",
"displayName": "Fabrikam Fiber",
"uniqueName": "fabrikamfiber1@outlook.com",
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/e5a5f7f8-6507-4c34-b397-6c4818e002f4",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=e5a5f7f8-6507-4c34-b397-6c4818e002f4"
},
"lastUpdatedDate": "2014-05-04T11:33:25.857Z",
"areaUri": "vstfs:///Classification/Node/13a29f1c-46be-4883-9153-b36900f1b70c"
}
],
"count": 1
}
Static suite
Sample request
POST https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/suites/1?api-version=5.0
{
"suiteType": "StaticTestSuite",
"name": "NewTestSuite"
}
Sample response
{
"value": [
{
"id": 8,
"name": "NewTestSuite",
"url": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/Suites/8",
"project": {
"id": "eb6e4656-77fc-42a1-9181-4c6d8e9da5d1",
"name": "Fabrikam-Fiber-TFVC",
"url": "https://dev.azure.com/fabrikam/_apis/projects/Fabrikam-Fiber-TFVC"
},
"plan": {
"id": "1",
"name": "sprint1",
"url": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1"
},
"parent": {
"id": "1",
"name": "sprint1",
"url": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/Suites/1"
},
"revision": 1,
"testCaseCount": 0,
"suiteType": "StaticTestSuite",
"testCasesUrl": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/1/Suites/8/testcases",
"inheritDefaultConfigurations": true,
"state": "InProgress",
"lastUpdatedBy": {
"id": "e5a5f7f8-6507-4c34-b397-6c4818e002f4",
"displayName": "Fabrikam Fiber",
"uniqueName": "fabrikamfiber1@outlook.com",
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/e5a5f7f8-6507-4c34-b397-6c4818e002f4",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=e5a5f7f8-6507-4c34-b397-6c4818e002f4"
},
"lastUpdatedDate": "2014-05-04T11:33:25.857Z"
}
],
"count": 1
}
Definitions
Name | Description |
---|---|
Identity |
|
Reference |
The class to represent a collection of REST reference links. |
Shallow |
An abstracted reference to some other resource. This class is used to provide the build data contracts with a uniform way to reference other resources in a way that provides easy traversal through links. |
Suite |
Suite create model |
Test |
Test suite |
IdentityRef
Name | Type | Description |
---|---|---|
_links |
This field contains zero or more interesting links about the graph subject. These links may be invoked to obtain additional relationships or more detailed information about this graph subject. |
|
descriptor |
string |
The descriptor is the primary way to reference the graph subject while the system is running. This field will uniquely identify the same graph subject across both Accounts and Organizations. |
directoryAlias |
string |
|
displayName |
string |
This is the non-unique display name of the graph subject. To change this field, you must alter its value in the source provider. |
id |
string |
|
imageUrl |
string |
|
inactive |
boolean |
|
isAadIdentity |
boolean |
|
isContainer |
boolean |
|
isDeletedInOrigin |
boolean |
|
profileUrl |
string |
|
uniqueName |
string |
|
url |
string |
This url is the full route to the source resource of this graph subject. |
ReferenceLinks
The class to represent a collection of REST reference links.
Name | Type | Description |
---|---|---|
links |
object |
The readonly view of the links. Because Reference links are readonly, we only want to expose them as read only. |
ShallowReference
An abstracted reference to some other resource. This class is used to provide the build data contracts with a uniform way to reference other resources in a way that provides easy traversal through links.
Name | Type | Description |
---|---|---|
id |
string |
ID of the resource |
name |
string |
Name of the linked resource (definition name, controller name, etc.) |
url |
string |
Full http link to the resource |
SuiteCreateModel
Suite create model
Name | Type | Description |
---|---|---|
name |
string |
Name of test suite. |
queryString |
string |
For query based suites, query string that defines the suite. |
requirementIds |
integer[] |
For requirements test suites, the IDs of the requirements. |
suiteType |
string |
Type of test suite to create. It can have value from DynamicTestSuite, StaticTestSuite and RequirementTestSuite. |
TestSuite
Test suite
Name | Type | Description |
---|---|---|
areaUri |
string |
Area uri of the test suite. |
children |
Child test suites of current test suite. |
|
defaultConfigurations |
Test suite default configuration. |
|
defaultTesters |
Test suite default testers. |
|
id |
integer |
Id of test suite. |
inheritDefaultConfigurations |
boolean |
Default configuration was inherited or not. |
lastError |
string |
Last error for test suite. |
lastPopulatedDate |
string |
Last populated date. |
lastUpdatedBy |
IdentityRef of user who has updated test suite recently. |
|
lastUpdatedDate |
string |
Last update date. |
name |
string |
Name of test suite. |
parent |
Test suite parent shallow reference. |
|
plan |
Test plan to which the test suite belongs. |
|
project |
Test suite project shallow reference. |
|
queryString |
string |
Test suite query string, for dynamic suites. |
requirementId |
integer |
Test suite requirement id. |
revision |
integer |
Test suite revision. |
state |
string |
State of test suite. |
suiteType |
string |
Test suite type. |
suites |
List of shallow reference of suites. |
|
testCaseCount |
integer |
Test cases count. |
testCasesUrl |
string |
Test case url. |
text |
string |
Used in tree view. If test suite is root suite then, it is name of plan otherwise title of the suite. |
url |
string |
Url of test suite. |