You create a multiJob in Jenkins with 2 child streams.
Child stream jobs upload artifacts related to their parent job to a common repository & path in artifactory, named with the parent build number.
The parent job also upload artifact during run or after child stream jobs finish.
It is required to delete all uploads if one of the child stream job fails & there are missing artifacts. This affects the failure of its parent job.
The reason -
If another a job takes latest (snapshot) artifacts of that build - it wouldn't "know" there are missing artifacts in the build.
/Parent/build#1/child1Aretifacts successfully uploaded (created first)
/Parent/build#1/child2AretifactsMissing is missing artifacts or failed child job run
/Parent/Build#1/ParentArtifact artifact was uploaded though there are missing artifacts
*build#1 is the parent build number
Job 2 tries to download artifacts of /Parent/Build#1 but missing child2Aretifacts