Updates the specified fields of the specified attachment.
Use the operation to replace the contents of specific fields of an existing attachment with new contents in QAComplete.
To upload a new attachment, use the …/files (POST)
operation. To replace an existing attachment, use the …/files/{Id} (PUT)
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 the entity (Defects, Tests, and so on) that contains the attachment.
Request Format
To update the attachment, send a POST request to the following URL:
URL parameters
ProjectId : integer, required
The ID of the project that contains the item.
EntityCode : string, required
The type of the item that has the attachment that has the fields you want to update. Possible values:
- Releases
- Bugs (defects)
- FunctionalSpecs (requirements)
- Tests
- TestSets
- TestSteps
EntityId : integer, required
The ID of the item (a defect, requirement, and so on) that has the attachment.
Id : integer, required
The ID of the attachment that has the fields you want to update.
Comments : string
The comments to the attachment. Can include HTML markup.
Title : string (max 255 chars), required
The user-friendly name (title) of the attachment.
Body parameters
In the request body, pass the RequestFilePatch
JSON object that specifies the fields of the attachment that you need to update.
A sample request:
PATCH http://yourserver.com/rest-api/service/api/v1/projects/11873/Bugs/12/files/2013/New Comment/Updated Data HTTP/1.1
Host: yourserver.com
Connection: keep-alive
Content-Type:
Accept: application/json
Authorization: Basic am9obkBleGFtcGxlLmNvbTpwQHNzd29yZA==
Content-Length: 0
A sample request made by using cURL:
curl -u [email protected]:p@ssword --data "@update.txt" -H "Accept: application/json" http://yourserver.com/service/api/v1/projects/11873/Bugs/12/files/2013
Response Format
On success, the operation responds with HTTP status code 200 and returns a JSON object with the updated attachment information.
A sample response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 383
{
"id: 2013",
"attachment_type_code": "File",
"file_name": "data.txt",
"title": "Updated Data",
"comments": "New Comment",
"data_created": "2015-08-27T11:48:26.9370000",
"data_updated": "2015-08-27T11:53:51.0000000",
"entity_code": "Bugs",
"entity_id": 12,
"update_user_id": "24663",
"user_name": "Smith, John"
}
The unique identifier of the file.
The file name, URL, or UNC path.
For files, this is the file name of the zipped attachment in the QAComplete database.
For web links (URLs) and UNC paths, this is the same value as file_name
.
The user-friendly name (title) of the attachment.
Comments for the attachment. Can include an HTML markup.
The date and time when the attachment was created.
The date and time when the attachment was last updated.
The ID of the user who last updated the attachment.
The name of the user who last updated the attachment (in the LastName, FirstName format).
The ID of the QAComplete item (a requirement, defect, and so on) that contains the attachment.
The type of the item, to which the file is attached:
- Releases
- Bugs (defects)
- FunctionalSpecs (requirements)
- Tests
- TestSets
- TestSteps
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 an item with the specified EntityCode or EntityId, or an attachment with the specified Id does not exist, the operation returns the File or directory not found
error.
If the Title you specify for the attachment exceeds the maximum value size, the operation returns an internal server error.