PATCH/projects/{ProjectId}/{EntityCode}/{EntityId}/files/{Id}

Applies to QAComplete 14.3, last modified on February 19, 2024

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:

http://{server}/rest-api/service/api/v1/projects/{ProjectId}/{EntityCode}/{EntityId}/files/{Id}
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"
}

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.

See Also

Files (Attachments) Resources

Highlight search results