Creates a new release in the specified QAComplete project.
Use the operation to create a new release in the specified project in QAComplete.
To update all the fields of a release, use the …/releases/{Id} (PUT)
operation. To update specific fields of the release, use the …/releases/{Id} (PATCH)
operation.
Authentication
Basic authentication using a user’s login and password. See Authentication for details.
Security Rights
The authenticating user must belong to a security group that has the Add privilege for Releases.
Request Format
To create a release, send a POST request to the following URL:
URL parameters
ProjectId : integer, required
The ID of the project, to which you want to add a release.
Body parameters
In the request body, pass the RequestReleasePost
object that describes the release to be created.
{
"FolderId": "int",
"ParentId": "int",
"ReleaseType": "string",
"Title": "string",
"Description": "string",
"OwnerUserId": "int",
"AssigneeUserId": "int",
"IsAutoAdjustEstDates": "boolean",
"StatusCode": "string",
"IsActive": "boolean",
"CustomFields": [
{
"Id": "string",
"Name": "string",
"Value": "string"
}
],
"EstStartDate": "Date",
"EstFinishDate": "Date",
"SeqNum": "int"
}
Some string property values (for example, StatusCode
) are based on choice lists defined in your QAComplete project. You can find these values in Releases > Actions > Manage Choice Lists in QAComplete.
FolderId : integer
The ID of the folder you want to contain the release. 0
, if the release should not be placed in a folder.
ParentId : integer
The ID of the new release’s parent release.
ReleaseType : string, required
Should be Release
, Iteration
, or Build
.
Note: | For builds and iterations, make sure to specify ParentId. |
Title : string, required
The release’s title.
Description : string
The release’s description.
OwnerUserId : integer
The ID of the release’s owner.
AssigneeUserId : integer
The ID of the release’s assignee user.
IsAutoAdjustEstDates : boolean
Defines whether QAComplete should automatically adjust estimated dates for this release. Default value: false
.
StatusCode : string, required
The release’s status code.
IsActive : boolean
Defines whether the release is active. Default value: false
.
CustomFields : object
An array of CustomFields
objects that describe custom fields and their values:
{
"Id": "string",
"Name": "string",
"Value": "string"
}
Id : string, required
The unique identifier of the custom field. Must be in the CustomN
format, where N
is the custom field’s number (index).
Name : string
The field name.
Value : string
The field value.
EstStartDate : dateTime, required
Estimated start date for working on the release.
EstFinishDate : dateTime, required
Estimated finish date for working on the release.
SeqNum : integer, required
Number of the release in sequence.
A sample request:
POST http://yourserver.com/rest-api/service/api/v1/projects/11873/releases HTTP/1.1
Host: yourserver.com
Connection: keep-alive
Content-Type: application/json
Accept: application/json
Authorization: Basic am9obkBleGFtcGxlLmNvbTpwQHNzd29yZA==
Content-Length: 245
{
"ReleaseType": "Release",
"Title": "The Sample Release",
"StatusCode": "In Progress",
"EstStartDate": "2/27/2017 12:00:00 AM",
"EstFinishDate": "3/27/2017 12:00:00 AM",
"SeqNum": 2
}
A sample request made by using cURL:
curl -u [email protected]:p@ssword -d @release.txt -H "Content-Type: application/json" -H "Accept: application/json" http://yourserver.com/rest-api/service/api/v1/projects/11873/release
Response Format
If successful, the operation responds with HTTP status code 200. The response is a JSON object with information on the new release.
A sample response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 842
{
"id": 145910,
"project_id": 11873,
"folder_id": 0,
"release_id": 145910,
"parent_id": 0,
"release_type": "Release",
"title": "The Sample Release",
"owner_user_id: 135027,
"assignee_user_id": 0,
"is_auto_adjust_est_dates": false,
"date_created": "2017-01-06T09:46:32.3100000",
"date_updated": "2017-01-06T09:46:32.3100000",
"create_user_id": 135027,
"update_user_id": 135027,
"is_active": false,
"status_code": "In Progress",
"est_start_date": "2012-02-27T00:00:00.0000000",
"est_finish_date": "2012-03-27T00:00:00.0000000",
"seq_num": 2,
"import_id": 0,
"parent_name": "",
"updated_user_name": "Smith, John",
"created_user_name": "Smith, John",
"custom_fields": [],
"__permissions": {
"acl": 7
}
The item’s ID.
The ID of the project that contains the item.
The ID of the project’s folder that contains the item. 0
, if there is no folder.
The release’s ID. Equal to id for releases, equal to the parent’s release ID for iterations and builds.
The ID of the parent item (release or iteration) for iterations and builds.
The release’s type. It can be Release
, Build
or Iteration
.
The item’s title.
The release’s owner ID.
The release’s assignee ID.
Defines whether QAComplete should automatically adjust estimated dates for this release.
The date the item was created.
The date the item was updated.
The ID of the user who created the release.
The ID of the user who updated the release last time.
Defines whether the release is active.
The release’s status code.
The estimated start date for working on the release.
The estimated finish date for working on the release.
The sequence number of the release.
The ID of the item the release settings were imported from.
The parent item’s name.
The user name of the user who updated the item.
The user name of the user who created the item.
A list of custom fields and their values.
The authenticating user’s access rights to releases.
Access rights:
- 0 - None
- 1 - Read
- 2 - Update
- 3 - Read and update
- 4 - Delete
- 5 - Read and delete
- 7 - Full access
Error responses
If the operation fails, it returns the appropriate status code and (optionally) the error description in the response body.
If the project with the specified ProjectId does not exist or the authenticating user does not have rights to access the project, the operation returns the Access is denied
error.