removeAttachmentVersion is not working as expected for Confluence CLI
Problem statement
Experiencing unexpected errors when trying to remove multiple versions of attachment using removeAttachmentVersion.
Example Error message
Stopped looking for more versions to remove as we hit a limit of 25 missing versions in a row.
0 versions removed for attachment 'xxxxxx.png' on page 'Sample test' in space TEST. 15 versions remain.Sample log entries
Request type: GET
Content type: application/json; charset=utf-8
Response code: 200, message: 200, url: https://test.int/rest/api/latest/space/EVAL?expand=description.plain%2Cmetadata.labels%2Chomepage
URL requested: https://test.int/rest/api/latest/content?spaceKey=EVAL&expand=space.homepage%2Chistory%2Cversion%2Cancestors%2Cbody.storage&type=page&title=Analysis+Increments&status=current
Request type: GET
Content type: application/json; charset=utf-8
Response code: 200, message: 200, url: https://test.int/rest/api/latest/content?spaceKey=EVAL&expand=space.homepage%2Chistory%2Cversion%2Cancestors%2Cbody.storage&type=page&title=Analysis+Increments&status=current
URL requested: https://test.int/rest/api/latest/content/58130527/child/attachment?expand=container%2Cspace%2Cversion&filename=Inc_09_100.png&limit=50&start=0
Request type: GET
Content type: application/json; charset=utf-8
Response code: 200, message: 200, url: https://test.int/rest/api/latest/content/58130527/child/attachment?expand=container%2Cspace%2Cversion&filename=Inc_09_100.png&limit=50&start=0
URL requested: https://test.int/rpc/json-rpc/confluenceservice-v2/getAttachment
Request type: POST
Content type: application/json; charset=utf-8
Content length: 35
Post data:
["58130527","xxxxxxx.png","942"]
Response code: 200, message: 200, url: https://test.int/rpc/json-rpc/confluenceservice-v2/getAttachment
"
"
["58130527","Inc_09_100.png","908"]
Response code: 200, message: 200, url: https://test.int/rpc/json-rpc/confluenceservice-v2/getAttachment
URL requested: https://test.int/rpc/json-rpc/confluenceservice-v2/getAttachment
Request type: POST
Content type: application/json; charset=utf-8
Content length: 35
Post data:
["58130527","xxxxxxx.png","907"]
Response code: 200, message: 200, url: https://test.int/rpc/json-rpc/confluenceservice-v2/getAttachment
Stopped looking for more versions to remove as we hit a limit of 25 missing versions in a row.
0 versions removed for attachment 'xxxxxx.png' on page 'Sample test' in space TEST. 12 versions remain.Environment
Component | Server |
|---|---|
Application | Confluence |
Host Product Version | 6.13.0 |
App Version | 8.3.0 |
Database Type | N/A |
Cause
The issue occurs only when there are 25 or more versions missing in the sequence, for example, if you are trying to remove around 950 attachment versions and there are 25 versions or more missing in the version sequence.
Problem determination
The following are general troubleshooting steps when removeAttachmentVersion is not working as expected:
Verify that removeAttachmentVersions is used for deleting multiple versions whereas the removeAttachmentVersion deletes only one version of an attachment.
Verify the debug logs by appending --debug to the CLI command.
Solution
Upgrade to the latest version of ACLI from the Downloads link.
Use
removeAttachmentVersions for deleting multiple versions of an attachment
removeAttachmentVersion for deleting a single version of an attachment