Updates the specified attachment.
Use the operation to replace the contents of an existing attachment with new contents in QAComplete.
To upload a file as a new attachment, use the …/files (POST)
operation. To update only the fields of the specified attachment, use the …/files (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 Update privilege for the entity (Defects, Tests and so on) that contains the attachment.
Request Format
To update the attachment, send a PUT request to the following URL:
URL parameters
ProjectId : integer, required
The ID of the project, to which the item belongs.
EntityCode : string, required
The type of the item, whose attachment 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 attachment.
Id : integer, required
The ID of the attachment you want to update.
Comments : string
Comments to the attachment. Can include HTML markup.
Title : string (max 255 chars), required
The user-friendly name (title) of the attachment to update.
Body parameters
In the request body, pass the new attachment data wrapped as multipart/form-data. Some tools and development libraries let you specify just the file name and construct the request body automatically.
A sample request:
PUT http://yourserver.com/rest-api/service/api/v1/projects/11873/Bugs/12/files/2013 HTTP/1.1
Host: yourserver.com
Connection: keep-alive
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryobxsXCltsQZ5UBfL
Accept: application/json
Authorization: Basic am9obkBleGFtcGxlLmNvbTpwQHNzd29yZA==
Content-Length: 808
------WebKitFormBoundaryobxsXCltsQZ5UBfL
Content-Disposition: form-data; name="ProjectId"
11873
------WebKitFormBoundaryobxsXCltsQZ5UBfL
Content-Disposition: form-data; name="EntityCode"
Bugs
------WebKitFormBoundaryobxsXCltsQZ5UBfL
Content-Disposition: form-data; name="EntityId"
12
------WebKitFormBoundaryobxsXCltsQZ5UBfL
Content-Disposition: form-data; name="Id"
2013
------WebKitFormBoundaryobxsXCltsQZ5UBfL
Content-Disposition: form-data; name="Comments"
Comment 1
------WebKitFormBoundaryobxsXCltsQZ5UBfL
Content-Disposition: form-data; name="Title"
New Data
------WebKitFormBoundaryobxsXCltsQZ5UBfL
Content-Disposition: form-data; name="File"; filename="Data.txt"
Content-Type: application/octet-stream
... the rest of the data.txt file contents ...
------WebKitFormBoundaryobxsXCltsQZ5UBfL--
A sample request made by using cURL:
curl -u [email protected]:p@ssword -F [email protected] -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: 314
{
"attachment_type_code": "File",
"file_name": "data.txt",
"title": "New Data",
"comments": "Comment 1",
"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 type of the attachment. Always File.
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 HTML markup.
The date and time the attachment was created.
The date and time 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.