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

ComponentServer  
ApplicationConfluence
Host Product Version           6.13.0
App Version8.3.0
Database TypeN/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