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.

Attributes

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.

Notes

Examples

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