The task is used to deliver the specified change sets to the specified target. The target can be another workspace or a stream. The change sets included in the delivery are identified by a comparison technique to find:
A snapshot of the target is taken prior to delivering the change sets and another is taken after the change sets are delivered. The snapshots contain a baseline for each component included in the target. The names of the before and after snapshots can be specified with the baselineNameBefore and baselineNameAfter attributes. If snapshot names are not specified, they will default to:
where ${buildDefinitionId} and ${buildLabel} are the built-in Jazz Build Engine Ant properties containing the build definition id and build label respectively. Comments for the before and after snapshots can also be specified.
The task supports Team Build Attributes, Build Extensions Debugging Attributes, Build Extensions General Attributes, as well as, its own task specific attributes. Click on a link for more information on the common attributes.
The following table describes the task specific attributes for the task:
| Task Specific Attributes | ||
| Attribute | Description | Required |
| baselineCommentAfter | Comment text for the baseline snapshot taken after the delivery. The default is a blank comment. | No |
| baselineCommentBefore | Comment text for the baseline snapshot taken before the delivery. The default is a blank comment. | No |
| baselineNameAfter | Name for the baseline snapshot taken after the delivery. The default is described above. | No |
| baselineNameBefore | Name for the baseline snapshot taken before the delivery. The default is described above. | No |
| buildResultUUID | The UUID of the build result. The value of this attribute is typically ${buildResultUUID} because the property is built-in when using the Jazz Build Engine. The ${buildResultUUID} property will be automatically retrieved from the Ant environment if this attribute is not specified. This attribute is used to calculate the difference between the build workspace and a stream. It is required for personal builds or if none of snapshotBefore/snapshotAfter, snapshotUUID, or snapshotUUIDBefore/snapshotUUIDAfter attributes are specified. | No |
| personalBuild | The personal build flag, which is set to true for personal builds. The value of this attribute is typically ${personalBuild} because the property is built-in when using the Jazz Build Engine. The ${personalBuild} property will be automatically retrieved from the Ant environment if this attribute is not specified. | No |
| snapshotAfter | The name of the "after" snapshot to use to calculate the difference between two snapshots. If snapshotBefore is specified, snapshotAfter is required. | No |
| snapshotBefore | The name of the "before" snapshot to use to calculate the difference between two snapshots. If snapshotBefore is specified, snapshotAfter is required. | No |
| snapshotUUID | The UUID of the snapshot from a prior build. This snapshot is compared to the current build snapshot, buildResultUUID, to calculate the difference between the snapshots. | No |
| snapshotUUIDAfter | The UUID of the "after" snapshot to use to calculate the difference between two snapshots. If snapshotUUIDBefore is specified, snapshotUUIDAfter is required. | No |
| snapshotUUIDBefore | The UUID of the "before" snapshot to use to calculate the difference between two snapshots. If snapshotBefore is specified, snapshotAfter is required. | No |
| streamName | The name of the stream for workspace comparisons. The stream name is also used when performing a snapshotBefore/snapshotAfter comparison to locate the snapshots. | No |
| target | The name of the stream or workspace where changes are to be delivered. | Yes |
| workspaceUUID | The UUID of the workspace for the build. The value of this attribute is typically ${team.scm.workspaceUUID} because the property is built-in when using the Jazz Build Engine. | Yes |
The following table lists the attributes required for each of the four change set specification methods:
| Required Attributes | ||
| Method | Attributes | Description |
| Comparison of the build workspace and a stream. | streamName | The workspace is compared to the specified stream to determine the differences between them and derive the list of change sets to deliver. This method is only valid for personal builds. |
| Comparison of the current build snapshot and a prior build snapshot. |
buildResultUUID snapshotUUID |
The current build snapshot is compared to the prior build snapshot to determine the list of change sets to deliver. |
| Comparison of any two before and after snapshots specified by snapshot name. |
snapshotBefore snapshotAfter streamName |
The before snapshot is compared to the after snapshot to determine the list of change sets to deliver. The stream name is required to find the snapshots by name. |
| Comparison of any two before and after snapshots specified by snapshot UUID. |
snapshotUUIDBefore snapshotUUIDAfter |
The before snapshot is compared to the after snapshot to determine the list of change sets to deliver. The stream name is required to find the snapshots by name. |
Deliver APAR change sets
<target name="main" description="${lblMainPackageChild}">
<BuildActivityStartChild label="${lblMainPackageChild}" parent="${mainParentId}"/>
<BuildActivity label="${lblMainPackageChild}"/>
<!-- Set delivery properties -->
<tstamp>
<format property="snapshot.time" pattern="yyyyMMdd.HHmmssSSS"/>
</tstamp>
<property name="snapshot1" value="${release.lcl}.${ims.build.ant.aparName}.Endapar.${snapshot.time}"/>
<property name="snapshot2" value="${release.lcl}.${ims.build.ant.aparName}.Promote.${snapshot.time}"/>
<property name="comments1" value="Before baseline for ${ims.build.ant.aparName} ${release.lcl} delivery"/>
<property name="comments2" value="After baseline for ${ims.build.ant.aparName} ${release.lcl} delivery"/>
<!-- Deliver APAR changesets -->
<BuildActivity label="${lblMainPackageChild}: Deliver APAR changesets"/>
<xt:deliverchangesetstotarget
repositoryAddress="${repositoryAddress}"
userId="${userId}"
passwordFile="${passwordFile}"
baselineCommentAfter="${comments2}"
baselineCommentBefore="${comments1}"
baselineNameAfter="${snapshot2}"
baselineNameBefore="${snapshot1}"
buildResultUUID="${buildResultUUID}"
snapshotAfter="${snapshotAfter}"
snapshotBefore="${snapshotBefore}"
streamName="${ims.build.ant.streamName}"
target="${release.lcl}"
workspaceUUID="${team.enterprise.scm.workspaceUUID}"
/>
</target>
Example log:
main:
[echo] 20150716 17:46:57.216 **** EndaparPackageRunDeliverMain.EndaparPackageDeliverMain
[echo] 20150716 17:46:57.218 **** EndaparPackageRunDeliverMain.EndaparPackageDeliverMain: Deliver APAR changesets
[xt:deliverchangesetstotarget] Delivering change set: PI43694
[xt:deliverchangesetstotarget] Associated work item: 42938: PI43694 : V14 fix for APAR PI43694
[xt:deliverchangesetstotarget] Associated work item: 42986: LC00005 - 2015-07-10
[xt:deliverchangesetstotarget] Delivering change set: IMS14.ServiceBuild.@deliver