getNextVersionInfo method
The
getNextVersionInfo
method gets information about the next
version to be imported.
getNextVersionInfo
takes the
Properties
object as a parameter.
To use specific properties when creating the
VersionInfo
object, compose
VersionParams
so that those properties are passed to
this method. The values of these parameters are supplied when importing
versions.
For example:
@VersionParams ( versionParams = { @VersionParam(displayName = "Specific version/tag", name = "revision", description = "Name of specific version or tag"), @VersionParam(displayName = "Name to create the version with", name = "name", description = "Name for identifying the version") } )
The above example returns:
Collection<VersionInfo>
This is the collection of
VersionInfo
objects that can be created using values
from the
VersionParams
annotation.
public Collection<VersionInfo> getNextVersionInfo(Properties properties) throws Exception { // This is the name of the first VersionParam object String versionName = properties.getProperty("revision"); VersionInfo info = new VersionInfo(versionName); // Set some additional properties to existing Properties Object // so that we can use it in // downloadVersionContent properties.put("myCustomProperty", “myValue”); info.setVersionProps(properties); // SET PROPERTIES return Arrays.asList(info); } public void downloadVersionContent(VersionInfo versionInfo, File processingDirectoryLocation) throws Exception { // Extract properties from VersionInfo object Properties prop = versionInfo.getVersionProps(); String myProp = prop.getProperty("myCustomProperty"); Client someClient = new Client(); Client.downloadContent(processingDirectoryLocation, myProp); }
If you find that there is no version to create based on the
getNextVersionInfo()
call and do not need to call
downloadVersionContent()
, you should return a null or
empty
Collections
object. When the
Deployment Automation
server receives an empty or null object instead of a collection of
VersionInfo
objects, it skips calling
downloadVersionContent()
.
public Collection<VersionInfo> getNextVersionInfo(Properties properties) throws Exception { // This is the name of the first VersionParam object String versionName = properties.getProperty("revision"); // No need to go further, we are not creating the version. if(versionName == null || versionName. length() == 0) return null; VersionInfo info = new VersionInfo(versionName); // Set some additional properties to existing Properties Object // so that we can use it in // downloadVersionContent properties.put("myCustomProperty", “myValue”); info.setVersionProps(properties); // SET PROPERTIES return Arrays.asList(info); }