“ROC - Assign environment package" assigns an environment artifact package to a deployment, yet the associated artifact collection element does not populate so the distributed artifact package cannot be processed in a collection element loop flow.
The collection element is populated with the artifact versions once the “ROC - Assign environment package" is executed. If an empty package is assigned which versions are added to later on using “ROC – Add version to artifact package”, that means the collection element is empty yet the package is distributed well. This prevents a (pre)deployment step to process the versions in a looped flow.
Before assigning the artifact package (using “ROC - Assign environment package") to the deployment, make sure it contains all versions, either by:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<p:package xmlns:p="http://www.example.org/ArtifactPackage">
<p:name>Package22</p:name>
<p:artifactVersionByPath>
<p:definition>artdef1</p:definition>
<p:type>arrttyp1</p:type>
<p:version>artver1</p:version>
</p:artifactVersionByPath>
<p:artifactVersionByPath>
<p:definition>artdef1</p:definition>
<p:type>arrttyp1</p:type>
<p:version>artver2</p:version>
</p:artifactVersionByPath>
</p:package>
Artifact versions that are added after the package is assigned to the deployment are still distributed to the agents. It's just not possible to process them in a collection loop. But they are within the target's artifact_store and can be referenced there as such.