Priority: 4 - Normal
Affects Version/s: None
Fix Version/s: None
Curently calling Delete Builds and Control Build Retention REST API with option deleteArtifacts =true deletes all artifacts which have checksum provided in buildinfo json file regardless of value of properties build.name and build.number.
The compatibility of the build.name and build.number property values for the artifact with the name and number of the build removed at all is not taken into account.
This action causes that the artifacts with checksums contained in the build are irretrievably deleted even if they are in other repositories and have been uploaded under other builds or via the GUI. This system operation creates a very high risk of losing valuable artifacts.
Currently, the operation of these rest stops is as follows:
For the build being removed, all artifacts are searched based on the checksums contained in buildinfo and deleted.
This causes the situation that if the artifact of a given checksum is in even a different repository and there are no set properties: build.name and build.number it is removed.
Correct operation should be as follows:
1. Artifacts are searched based on the checksums contained in buildinfo and the compatibility of properties build.name and build.number with the data of the sought-after build
So now the current error is that currently the values of properties build.name and build.number for artifacts are not checked when deleting artifacts
The proposed operation of these services is in line with their current documentation at Jfrog Confluence