Updates the specified release.
Use the operation to replace the contents of an existing release with new contents in QAComplete.
To update specific fields of a release, use the …/releases/{Id} (PATCH)
operation. To add a new release, use the …/releases (POST)
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 Update privilege for Releases.
Request Format
To update the release, send a PUT request to the following URL:
URL parameters
ProjectId : integer, required
The ID of the project, to which the release belongs.
Id : integer, required
The ID of the release you want to update.
Body parameters
In the request body, pass the RequestReleasePut
JSON object that describes the release’s new contents:
{
"FolderId": "int",
"ParentId": "int",
"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, Status
) are based on choice lists defined in your QAComplete project. You can find these values in Releases > Actions > Manage Choice Lists in QAComplete.
The property values you do not specify are set to their default values.
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
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:
PUT http://yourserver.com/rest-api/service/api/v1/projects/11873/releases/145910 HTTP/1.1
Host: yourserver.com
Connection: keep-alive
Content-Type: application/json
Accept: application/json
Authorization: Basic am9obkBleGFtcGxlLmNvbTpwQHNzd29yZA==
Content-Length: 224
{ "Title": "Release after PUT", "StatusCode": "Closed (Canceled)", "SeqNum": 3, "EstStartDate": "02/17/2017 08:00:00 AM", "EstFinishDate": "04/17/2017 01:00:00 PM" }
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/service/api/v1/projects/11873/releases/145910
Response Format
If successful, the operation responds with HTTP status code 200 and returns a JSON object with the updated release information.
A sample response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 844
{
"id": 145910,
"project_id": 11873,
"folder_id": 0,
"release_id": 145910,
"parent_id": 0,
"release_type": "Release",
"title": "Release after PUT",
"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": "Closed (Canceled)", "est_start_date": "2012-02-17T08:00:00.0000000",
"est_finish_date": "2012-04-17T13: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.
If a release with the specified Id does not exist, the operation returns the File or directory not found
error.