Test Plans - Create
Create a test plan.
POST https://dev.azure.com/{organization}/{project}/_apis/testplan/plans?api-version=7.1
URI Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
|
organization
|
path | True |
string |
The name of the Azure DevOps organization. |
|
project
|
path | True |
string |
Project ID or project name |
|
api-version
|
query | True |
string |
Version of the API to use. This should be set to '7.1' to use this version of the api. |
Request Body
| Name | Type | Description |
|---|---|---|
| areaPath |
string |
Area of the test plan. |
| buildDefinition |
The Build Definition that generates a build associated with this test plan. |
|
| buildId |
integer (int32) |
Build to be tested. |
| description |
string |
Description of the test plan. |
| endDate |
string (date-time) |
End date for the test plan. |
| iteration |
string |
Iteration path of the test plan. |
| name |
string |
Name of the test plan. |
| owner |
Owner of the test plan. |
|
| releaseEnvironmentDefinition |
Release Environment to be used to deploy the build and run automated tests from this test plan. |
|
| startDate |
string (date-time) |
Start date for the test plan. |
| state |
string |
State of the test plan. |
| testOutcomeSettings |
Value to configure how same tests across test suites under a test plan need to behave |
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
| Create a test plan with all details. |
| Create a test plan with name, area path and iteration. |
Create a test plan with all details.
Sample request
POST https://dev.azure.com/fabrikam/{project}/_apis/testplan/plans?api-version=7.1
{
"name": "newCreatedPlan2",
"areaPath": "sampleProject\\Team1",
"description": "description of the test plan",
"startDate": "2018-08-19T20:49:15.8884886+05:30",
"endDate": "2018-08-26T20:49:15.8884886+05:30",
"iteration": "sampleProject\\Iteration 2",
"owner": null,
"state": "Inactive",
"buildId": 3,
"buildDefinition": {
"id": 2,
"name": ""
},
"releaseEnvironmentDefinition": {
"definitionId": 1,
"environmentDefinitionId": 1
},
"testOutcomeSettings": {
"syncOutcomeAcrossSuites": true
}
}
Sample response
{
"id": 31,
"project": {
"id": "afb62ab2-bd74-41c2-991e-40bbb9c8ca91",
"name": "sampleProject",
"state": "unchanged",
"visibility": "unchanged"
},
"updatedDate": "2018-08-17T15:19:16.993Z",
"updatedBy": {
"displayName": "Fabrikam Fiber",
"url": "https://vssps.dev.azure.com/fabrikam/Aea08ebc7-105f-4bb2-a36b-f92e0e9de65a/_apis/Identities/0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"_links": {
"avatar": {
"href": "https://dev.azure.com/fabrikam/_apis/GraphProfile/MemberAvatars/aad.MGZkYmRhZDgtNmFmYi03MTQ5LTlhZjktYzBhMjE2MTM3ZDFk"
}
},
"id": "0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"uniqueName": "fabrikamfiber1@microsoft.com",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"descriptor": "aad.MGZkYmRhZDgtNmFmYi03MTQ5LTlhZjktYzBhMjE2MTM3ZDFk"
},
"rootSuite": {
"id": 32,
"name": "newCreatedPlan2",
"plan": {
"id": 31,
"name": "newCreatedPlan2"
}
},
"_links": {
"_self": {
"href": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/31"
},
"clientUrl": {
"href": "mtms://fabrikam.visualstudio.com:443/p:sampleProject/Testing/testplan/connect?id=31"
},
"rootSuite": {
"href": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/31/Suites/32"
},
"build": {
"href": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/build/Builds/3"
},
"buildDefinition": {
"href": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/build/Definitions/2"
}
},
"revision": 2,
"name": "newCreatedPlan2",
"areaPath": "sampleProject\\Team1",
"description": "description of the test plan",
"startDate": "2018-08-19T20:49:15.8884886+05:30",
"endDate": "2018-08-26T20:49:15.8884886+05:30",
"iteration": "sampleProject\\Iteration 2",
"owner": {
"displayName": "Fabrikam Fiber",
"url": "https://vssps.dev.azure.com/fabrikam/Aea08ebc7-105f-4bb2-a36b-f92e0e9de65a/_apis/Identities/0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"_links": {
"avatar": {
"href": "https://dev.azure.com/fabrikam/_apis/GraphProfile/MemberAvatars/aad.MGZkYmRhZDgtNmFmYi03MTQ5LTlhZjktYzBhMjE2MTM3ZDFk"
}
},
"id": "0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"uniqueName": "fabrikamfiber1@microsoft.com",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"descriptor": "aad.MGZkYmRhZDgtNmFmYi03MTQ5LTlhZjktYzBhMjE2MTM3ZDFk"
},
"state": "Inactive",
"buildId": 3,
"buildDefinition": {
"id": 2,
"name": ""
},
"releaseEnvironmentDefinition": {
"definitionId": 1,
"environmentDefinitionId": 1
},
"testOutcomeSettings": {
"syncOutcomeAcrossSuites": true
}
}
Create a test plan with name, area path and iteration.
Sample request
POST https://dev.azure.com/fabrikam/{project}/_apis/testplan/plans?api-version=7.1
{
"name": "newCreatedPlan1",
"areaPath": "sampleProject\\Team1",
"iteration": "sampleProject\\Iteration 2",
"owner": null
}
Sample response
{
"id": 29,
"project": {
"id": "afb62ab2-bd74-41c2-991e-40bbb9c8ca91",
"name": "sampleProject",
"state": "unchanged",
"visibility": "unchanged"
},
"updatedDate": "2018-08-17T15:19:13.967Z",
"updatedBy": {
"displayName": "Fabrikam Fiber",
"url": "https://vssps.dev.azure.com/fabrikam/Aea08ebc7-105f-4bb2-a36b-f92e0e9de65a/_apis/Identities/0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"_links": {
"avatar": {
"href": "https://dev.azure.com/fabrikam/_apis/GraphProfile/MemberAvatars/aad.MGZkYmRhZDgtNmFmYi03MTQ5LTlhZjktYzBhMjE2MTM3ZDFk"
}
},
"id": "0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"uniqueName": "fabrikamfiber1@microsoft.com",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"descriptor": "aad.MGZkYmRhZDgtNmFmYi03MTQ5LTlhZjktYzBhMjE2MTM3ZDFk"
},
"rootSuite": {
"id": 30,
"name": "newCreatedPlan1",
"plan": {
"id": 29,
"name": "newCreatedPlan1"
}
},
"_links": {
"_self": {
"href": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/29"
},
"clientUrl": {
"href": "mtms://fabrikam.visualstudio.com:443/p:sampleProject/Testing/testplan/connect?id=29"
},
"rootSuite": {
"href": "https://dev.azure.com/fabrikam/fabrikam-fiber-tfvc/_apis/test/Plans/29/Suites/30"
}
},
"revision": 1,
"name": "newCreatedPlan1",
"areaPath": "sampleProject\\Team1",
"startDate": "2018-08-17T15:19:13.6734848Z",
"endDate": "2018-08-24T15:19:13.6734848Z",
"iteration": "sampleProject\\Iteration 2",
"owner": {
"displayName": "Fabrikam Fiber",
"url": "https://vssps.dev.azure.com/fabrikam/Aea08ebc7-105f-4bb2-a36b-f92e0e9de65a/_apis/Identities/0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"_links": {
"avatar": {
"href": "https://dev.azure.com/fabrikam/_apis/GraphProfile/MemberAvatars/aad.MGZkYmRhZDgtNmFmYi03MTQ5LTlhZjktYzBhMjE2MTM3ZDFk"
}
},
"id": "0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"uniqueName": "fabrikamfiber1@microsoft.com",
"imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=0fdbdad8-6afb-6149-9af9-c0a216137d1d",
"descriptor": "aad.MGZkYmRhZDgtNmFmYi03MTQ5LTlhZjktYzBhMjE2MTM3ZDFk"
},
"state": "Active",
"testOutcomeSettings": {
"syncOutcomeAcrossSuites": false
}
}
Definitions
| Name | Description |
|---|---|
|
Build |
The build definition reference resource |
|
Identity |
|
|
Project |
Project state. |
|
Project |
Project visibility. |
|
Reference |
The class to represent a collection of REST reference links. |
|
Release |
Reference to release environment resource. |
|
Team |
Represents a shallow reference to a TeamProject. |
|
Test |
Test outcome settings |
|
Test |
The test plan resource. |
|
Test |
The test plan create parameters. |
|
Test |
The test suite reference resource. |
BuildDefinitionReference
The build definition reference resource
| Name | Type | Description |
|---|---|---|
| id |
integer (int32) |
ID of the build definition |
| name |
string |
Name of the build definition |
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 |
Deprecated - Can be retrieved by querying the Graph user referenced in the "self" entry of the IdentityRef "_links" dictionary |
| 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 |
Deprecated - Available in the "avatar" entry of the IdentityRef "_links" dictionary |
| inactive |
boolean |
Deprecated - Can be retrieved by querying the Graph membership state referenced in the "membershipState" entry of the GraphUser "_links" dictionary |
| isAadIdentity |
boolean |
Deprecated - Can be inferred from the subject type of the descriptor (Descriptor.IsAadUserType/Descriptor.IsAadGroupType) |
| isContainer |
boolean |
Deprecated - Can be inferred from the subject type of the descriptor (Descriptor.IsGroupType) |
| isDeletedInOrigin |
boolean |
|
| profileUrl |
string |
Deprecated - not in use in most preexisting implementations of ToIdentityRef |
| uniqueName |
string |
Deprecated - use Domain+PrincipalName instead |
| url |
string |
This url is the full route to the source resource of this graph subject. |
ProjectState
Project state.
| Value | Description |
|---|---|
| deleting |
Project is in the process of being deleted. |
| new |
Project is in the process of being created. |
| wellFormed |
Project is completely created and ready to use. |
| createPending |
Project has been queued for creation, but the process has not yet started. |
| all |
All projects regardless of state except Deleted. |
| unchanged |
Project has not been changed. |
| deleted |
Project has been deleted. |
ProjectVisibility
Project visibility.
| Value | Description |
|---|---|
| private |
The project is only visible to users with explicit access. |
| public |
The project is visible to all. |
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. |
ReleaseEnvironmentDefinitionReference
Reference to release environment resource.
| Name | Type | Description |
|---|---|---|
| definitionId |
integer (int32) |
ID of the release definition that contains the release environment definition. |
| environmentDefinitionId |
integer (int32) |
ID of the release environment definition. |
TeamProjectReference
Represents a shallow reference to a TeamProject.
| Name | Type | Description |
|---|---|---|
| abbreviation |
string |
Project abbreviation. |
| defaultTeamImageUrl |
string |
Url to default team identity image. |
| description |
string |
The project's description (if any). |
| id |
string (uuid) |
Project identifier. |
| lastUpdateTime |
string (date-time) |
Project last update time. |
| name |
string |
Project name. |
| revision |
integer (int64) |
Project revision. |
| state |
Project state. |
|
| url |
string |
Url to the full version of the object. |
| visibility |
Project visibility. |
TestOutcomeSettings
Test outcome settings
| Name | Type | Description |
|---|---|---|
| syncOutcomeAcrossSuites |
boolean |
Value to configure how test outcomes for the same tests across suites are shown |
TestPlan
The test plan resource.
| Name | Type | Description |
|---|---|---|
| _links |
Relevant links |
|
| areaPath |
string |
Area of the test plan. |
| buildDefinition |
The Build Definition that generates a build associated with this test plan. |
|
| buildId |
integer (int32) |
Build to be tested. |
| description |
string |
Description of the test plan. |
| endDate |
string (date-time) |
End date for the test plan. |
| id |
integer (int32) |
ID of the test plan. |
| iteration |
string |
Iteration path of the test plan. |
| name |
string |
Name of the test plan. |
| owner |
Owner of the test plan. |
|
| previousBuildId |
integer (int32) |
Previous build Id associated with the test plan |
| project |
Project which contains the test plan. |
|
| releaseEnvironmentDefinition |
Release Environment to be used to deploy the build and run automated tests from this test plan. |
|
| revision |
integer (int32) |
Revision of the test plan. |
| rootSuite |
Root test suite of the test plan. |
|
| startDate |
string (date-time) |
Start date for the test plan. |
| state |
string |
State of the test plan. |
| testOutcomeSettings |
Value to configure how same tests across test suites under a test plan need to behave |
|
| updatedBy |
Identity Reference for the last update of the test plan |
|
| updatedDate |
string (date-time) |
Updated date of the test plan |
TestPlanCreateParams
The test plan create parameters.
| Name | Type | Description |
|---|---|---|
| areaPath |
string |
Area of the test plan. |
| buildDefinition |
The Build Definition that generates a build associated with this test plan. |
|
| buildId |
integer (int32) |
Build to be tested. |
| description |
string |
Description of the test plan. |
| endDate |
string (date-time) |
End date for the test plan. |
| iteration |
string |
Iteration path of the test plan. |
| name |
string |
Name of the test plan. |
| owner |
Owner of the test plan. |
|
| releaseEnvironmentDefinition |
Release Environment to be used to deploy the build and run automated tests from this test plan. |
|
| startDate |
string (date-time) |
Start date for the test plan. |
| state |
string |
State of the test plan. |
| testOutcomeSettings |
Value to configure how same tests across test suites under a test plan need to behave |
TestSuiteReference
The test suite reference resource.
| Name | Type | Description |
|---|---|---|
| id |
integer (int32) |
ID of the test suite. |
| name |
string |
Name of the test suite. |