Do you use PowerShell script to create duplicated work item types?

Updated by Brady Stroud [SSW] 1 year ago. See history

123
<introEmbed body={<> Sometimes you will need to create duplicate work item types, e.g. a task work item may be clones as PlatformDepTask, SystemDepTask; both of these task work items are sharing the same fields, workflow or layouts, but they are configured to be accessible by different department or there is some other minor differences. You should create a WIT template and use a place holder for the difference, e.g. ```xml <WORKITEMTYPE name="xxxxDepNamexxxxTask"> ... </WORKITEMTYPE> ``` **Figure: WIT template with a placeholdera** </>} />

Then use the following PowerShell script to automatically clone the work item and replace the placeholder with actual text.

$original\_file = '..\WorkItem Tracking\TypeDefinitions\Task\_Template\_DONOTInstall.xml'
$destination\_file =  '..\WorkItem Tracking\TypeDefinitions\Task\_ PlatformDep.xml'
(Get-Content $original\_file) | Foreach-Object {
    $\_ -replace "xxxxDepNamexxxx", "PlatformDep"
    } | Set-Content $destination\_file -Encoding UTF8
$destination\_file =  '..\WorkItem Tracking\TypeDefinitions\Task\_SystemDep.xml'
(Get-Content $original\_file) | Foreach-Object {
   $\_ -replace "xxxxDepNamexxxx", "SystemDep"
   } | Set-Content $destination\_file -Encoding UTF8

Figure: PowerShell script to create duplicate WITs and replace the place holder with actual data

Note: if you are using non-English characters in your template, make sure you add –Encoding UTF8 otherwise you will have some encoding problems.

Acknowledgements

Lei Xu
Related rules

Need help?

SSW Consulting has over 30 years of experience developing awesome software solutions.

We open source.Loving SSW Rules? Star us on GitHub. Star