Search code examples
deployitxl-deploy

How to skip specific Execution Plan Steps?


In the TaskBlockService there is a POST call that one or more steps should be skipped. There is not a good example given how the posted XML (List of String) the paths of the steps to skip.

Tried the following content for the POSTed data:

curl  -X POST  https://xldeploy.company.com/deployit/tasks/v2/5e917094-d054-4cc7-940e-89d851ca225a/skip

File remove-steps.xml content - sample 1:

<list>
    <string>0_1_1</string>
</list>

File remove-steps.xml content - sample 2:

<list>
    <string>0-1-1</string>
</list>

Solution

  • The first format you list is right, but you have to make sure you're using a step path and not just the path to a block.

    Lets say you get the blocks from your deployment plan with this call.

    curl -uadmin:password http://localhost:4516/deployit/tasks/v2/28830810-5104-4ab9-9826-22f66dee265d
    

    This will produce the result:

    <task id="28830810-5104-4ab9-9826-22f66dee265d" failures="0" state="PENDING" owner="admin">
      <description>Initial deployment of Environments/local/TestApp001</description>
      <activeBlocks/>
      <metadata>
        <environment>local</environment>
        <taskType>INITIAL</taskType>
        <environment_id>Environments/local</environment_id>
        <application>TestApp001</application>
        <version>1.0</version>
      </metadata>
      <block id="0" state="PENDING" description="" root="true">
        <block id="0_1" state="PENDING" description="Deploy" phase="true">
          <block id="0_1_1" state="PENDING" description="Deploy TestApp001 1.0 on environment local"/>
        </block>
      </block>
      <dependencies/>
    

    If you want to see the steps in block 0_1_1 then you can use this rest call to get the steps.

    curl -uadmin:password http://local6/deployit/tasks/v2/28830810-5104-4ab9-9826-22f66dee265d/block/0_1_1/step
    
    <block id="0_1_1" state="PENDING" description="Deploy TestApp001 1.0 on environment local" current="0">
      <step failures="0" state="PENDING" description="Execute Command"/>
      <step failures="0" state="PENDING" description="Copy File001.txt to Infrastructure/localhost"/>
    

    The steps are numbered within the block starting from 1. So if you are want to skip the step - Copy File001.txt to Infrastructure/localhost the step path is 0_1_1_2. Your XML will look like:

    <list>
        <string>0_1_1_2</string>
    </list>