This MettleCI capability takes a specified set of input ISX files and modifies them based on instructions provided in a supplied YAML file. The first public interface to the Transmuter function will be made available from the MettleCI command line.
Command
From MettleCI Command Line, run the asset-transformer transform
command, supplying values for these parameters:
isx: path to an ISX archive or directory containing archives
user: DataStage user to credit changes to
transforms: path to a YAML file describing transforms to perform
Example
Assume the following:
getmsg.isx contains a parallel routine definition with the target filepath string to be replaced
u915264 is the valid datastage user that should be credited for the last save in the routine definition
changeLibFileInfo.yml contains:
- transform: SearchAndReplace
xpath: /[contains(name(),'DSRoutineSDO')]/@modulePath
searchString: /usr/local/dstage/[A-Za-z0-9_]/Routine/([A-Za-z0-9_]*).o
replaceString: /usr/local/dstage/cplusplus/routines/$1.so
Then executing the following command from a DOS command prompt
mettleci asset-transformer transform -isx C:\Users\x247317a\transmuter\getmsg.isx -user x247317 -transforms changeStaticLibToDynamicLibFilename.yml
will result in this output
C:\Users\u915264\transmuter>mettleci asset-transformer transform -isx C:\Users\u915264\transmuter\getmsg.isx -user u915264 -transforms changeStaticLibToDynamicLibFilename.yml MettleCI Command Line (build 118) (C) 2018-2020 Data Migrators Pty Ltd ---------------------------------- ISX File: C:\Users\x247317a\transmuter\getmsg.isx ---------------------------------- Applying 'SearchAndReplace' transform to asset 'getmsg' Replaced '/usr/local/dstage/TPODS/Routine/get_msg_code.o' with '/usr/local/dstage/cplusplus/routines/get_msg_code.so' C:\Users\u915264\transmuter>
Note the message showing the target and replacement strings. Other transforms may have different output.