AutoSys Workload Automation

 View Only
  • 1.  Conditional Release based on exit codes

    Posted Jun 17, 2019 09:02 PM
    I'm trying to set up a series of jobs that will release other jobs based on exit codes.

    Job1 will exit with a code of 0 or 4.  On a 0, it want it to bypass jobs 2,3,4 and run 5 and 6.  On an exit code of 4 it should run all jobs between 2 and 6.  I get the expected results on an exit of 4, but on an exit of 0 all remaining jobs are bypassed, not just jobs 2-4




  • 2.  RE: Conditional Release based on exit codes

    Posted Jun 18, 2019 07:50 AM
    ​Andy,

    Assuming this is ESP, would you be willing to post the appl / procedure for review?

    Thanks!

    <JC>


  • 3.  RE: Conditional Release based on exit codes

    Posted Jun 18, 2019 01:32 PM
    We are using DE.  The attach button doesn't do anything in my browser (something else to figure out in this new system), so sadly I can't attach the application, but I can just include it here as in xml format.  These are just powershell jobs that exit with the code provided to them as a parameter.  I would expect DE to bypass the jobs up to Job5 which has another dependency, not bypass everything to the end.

    <?xml version="1.0" encoding="UTF-8"?>
    <app:appl xmlns:app="http://dto.wa.ca.com/application" name="ANDY_TEST_PATH"><app:version>12.0</app:version><app:comment/><app:applopts><app:wait>false</app:wait><app:estimate_endtime>false</app:estimate_endtime><app:prop_dueout>false</app:prop_dueout><app:hold>false</app:hold><app:noinherit>false</app:noinherit><app:notrigger_ifactive>false</app:notrigger_ifactive><app:suppress_nowork_notification>false</app:suppress_nowork_notification><app:reason_required>false</app:reason_required></app:applopts><app:on_run><app:script_reference>SYMMASTA</app:script_reference></app:on_run><app:defaults><app:schedules><app:run><app:schedule>DAILY</app:schedule></app:run></app:schedules><app:tag/></app:defaults><app:job_templates><app:app><app:appl name="Template"><app:version>12.0</app:version></app:appl></app:app></app:job_templates><app:nt_job name="SetEXIT" qualifier="4">
    		
    		<app:comment>Powershell will exit with the code it is provided in the parameter</app:comment><app:dependencies><app:relcount>0</app:relcount><app:relconditionlist><app:relcondition><app:successorname>SetEXIT.5</app:successorname><app:condition>NORMAL</app:condition></app:relcondition></app:relconditionlist></app:dependencies><app:notifynodefaults>false</app:notifynodefaults>
    		<app:alert_notifynodefaults>false</app:alert_notifynodefaults>
    		<app:snmp_notifynodefaults>false</app:snmp_notifynodefaults>
    		<app:hold>false</app:hold>
    		<app:request>false</app:request>
    		<app:conditional>false</app:conditional>
    		<app:criticaljob>false</app:criticaljob>
    		<app:job_ancestor_wait_default_ignore>true</app:job_ancestor_wait_default_ignore>
    		<app:retry>
    			<app:retry_count>0</app:retry_count>
    			<app:retry_interval>0</app:retry_interval>
    			<app:last_notify_email>false</app:last_notify_email>
    			<app:last_notify_alerts>false</app:last_notify_alerts>
    			<app:last_notify_snmp>false</app:last_notify_snmp>
    		</app:retry>
    		<app:subappl_wait>false</app:subappl_wait>
    		
    		
    		<app:agent>NT_VFTPD02</app:agent><app:userid>WCBBC\JOBMAST</app:userid>
    		<app:args>-command "D:\Cyb_exec\andy_test\setExitCode.ps1" 0</app:args>
    		<app:cmdname>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</app:cmdname>
    		<app:is_interactive_job>false</app:is_interactive_job>
    	</app:nt_job><app:nt_job name="SetEXIT" qualifier="3">
    		
    		<app:comment>Powershell will exit with the code it is provided in the parameter</app:comment><app:dependencies><app:relcount>0</app:relcount><app:relconditionlist><app:relcondition><app:successorname>SetEXIT.4</app:successorname><app:condition>NORMAL</app:condition></app:relcondition></app:relconditionlist></app:dependencies><app:notifynodefaults>false</app:notifynodefaults>
    		<app:alert_notifynodefaults>false</app:alert_notifynodefaults>
    		<app:snmp_notifynodefaults>false</app:snmp_notifynodefaults>
    		<app:hold>false</app:hold>
    		<app:request>false</app:request>
    		<app:conditional>false</app:conditional>
    		<app:criticaljob>false</app:criticaljob>
    		<app:job_ancestor_wait_default_ignore>true</app:job_ancestor_wait_default_ignore>
    		<app:retry>
    			<app:retry_count>0</app:retry_count>
    			<app:retry_interval>0</app:retry_interval>
    			<app:last_notify_email>false</app:last_notify_email>
    			<app:last_notify_alerts>false</app:last_notify_alerts>
    			<app:last_notify_snmp>false</app:last_notify_snmp>
    		</app:retry>
    		<app:subappl_wait>false</app:subappl_wait>
    		
    		
    		<app:agent>NT_VFTPD02</app:agent><app:userid>WCBBC\JOBMAST</app:userid>
    		<app:args>-command "D:\Cyb_exec\andy_test\setExitCode.ps1" 0</app:args>
    		<app:cmdname>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</app:cmdname>
    		<app:is_interactive_job>false</app:is_interactive_job>
    	</app:nt_job><app:nt_job name="SetEXIT" qualifier="6">
    		<app:comment>Powershell will exit with the code it is provided in the parameter</app:comment>
    		<app:dependencies><app:relcount>0</app:relcount></app:dependencies><app:notifynodefaults>false</app:notifynodefaults>
    		<app:alert_notifynodefaults>false</app:alert_notifynodefaults>
    		<app:snmp_notifynodefaults>false</app:snmp_notifynodefaults>
    		<app:hold>false</app:hold>
    		<app:request>false</app:request>
    		<app:conditional>false</app:conditional>
    		<app:criticaljob>false</app:criticaljob>
    		<app:job_ancestor_wait_default_ignore>true</app:job_ancestor_wait_default_ignore>
    		<app:retry>
    			<app:retry_count>0</app:retry_count>
    			<app:retry_interval>0</app:retry_interval>
    			<app:last_notify_email>false</app:last_notify_email>
    			<app:last_notify_alerts>false</app:last_notify_alerts>
    			<app:last_notify_snmp>false</app:last_notify_snmp>
    		</app:retry>
    		<app:subappl_wait>false</app:subappl_wait>
    		
    		
    		<app:exitcodelist><app:exitcode><app:exitcoderange>0</app:exitcoderange><app:exitcodestate>SUCCESS</app:exitcodestate></app:exitcode><app:exitcode><app:exitcoderange>4</app:exitcoderange><app:exitcodestate>SUCCESS</app:exitcodestate></app:exitcode></app:exitcodelist><app:agent>NT_VFTPD02</app:agent><app:userid>WCBBC\JOBMAST</app:userid>
    		<app:args>-command "D:\Cyb_exec\andy_test\setExitCode.ps1" 0</app:args>
    		<app:cmdname>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</app:cmdname>
    		<app:is_interactive_job>false</app:is_interactive_job>
    	</app:nt_job><app:nt_job name="SetEXIT" qualifier="5">
    		<app:comment>Powershell will exit with the code it is provided in the parameter</app:comment>
    		<app:dependencies><app:relcount>0</app:relcount><app:relconditionlist><app:relcondition><app:successorname>SetEXIT.6</app:successorname><app:condition>NORMAL</app:condition></app:relcondition></app:relconditionlist></app:dependencies><app:notifynodefaults>false</app:notifynodefaults>
    		<app:alert_notifynodefaults>false</app:alert_notifynodefaults>
    		<app:snmp_notifynodefaults>false</app:snmp_notifynodefaults>
    		<app:hold>false</app:hold>
    		<app:request>false</app:request>
    		<app:conditional>false</app:conditional>
    		<app:criticaljob>false</app:criticaljob>
    		<app:job_ancestor_wait_default_ignore>true</app:job_ancestor_wait_default_ignore>
    		<app:retry>
    			<app:retry_count>0</app:retry_count>
    			<app:retry_interval>0</app:retry_interval>
    			<app:last_notify_email>false</app:last_notify_email>
    			<app:last_notify_alerts>false</app:last_notify_alerts>
    			<app:last_notify_snmp>false</app:last_notify_snmp>
    		</app:retry>
    		<app:subappl_wait>false</app:subappl_wait>
    		
    		
    		<app:exitcodelist><app:exitcode><app:exitcoderange>0</app:exitcoderange><app:exitcodestate>SUCCESS</app:exitcodestate></app:exitcode><app:exitcode><app:exitcoderange>4</app:exitcoderange><app:exitcodestate>SUCCESS</app:exitcodestate></app:exitcode></app:exitcodelist><app:agent>NT_VFTPD02</app:agent><app:userid>WCBBC\JOBMAST</app:userid>
    		<app:args>-command "D:\Cyb_exec\andy_test\setExitCode.ps1" 0</app:args>
    		<app:cmdname>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</app:cmdname>
    		<app:is_interactive_job>false</app:is_interactive_job>
    	</app:nt_job><app:nt_job name="SetEXIT" qualifier="2">
    		<app:comment>Powershell will exit with the code it is provided in the parameter</app:comment>
    		<app:dependencies><app:relcount>0</app:relcount><app:relconditionlist><app:relcondition><app:successorname>SetEXIT.3</app:successorname><app:condition>NORMAL</app:condition></app:relcondition></app:relconditionlist></app:dependencies><app:notifynodefaults>false</app:notifynodefaults>
    		<app:alert_notifynodefaults>false</app:alert_notifynodefaults>
    		<app:snmp_notifynodefaults>false</app:snmp_notifynodefaults>
    		<app:hold>false</app:hold>
    		<app:request>false</app:request>
    		<app:conditional>false</app:conditional>
    		<app:criticaljob>false</app:criticaljob>
    		<app:job_ancestor_wait_default_ignore>true</app:job_ancestor_wait_default_ignore>
    		<app:retry>
    			<app:retry_count>0</app:retry_count>
    			<app:retry_interval>0</app:retry_interval>
    			<app:last_notify_email>false</app:last_notify_email>
    			<app:last_notify_alerts>false</app:last_notify_alerts>
    			<app:last_notify_snmp>false</app:last_notify_snmp>
    		</app:retry>
    		<app:subappl_wait>false</app:subappl_wait>
    		
    		
    		<app:exitcodelist><app:exitcode><app:exitcoderange>0</app:exitcoderange><app:exitcodestate>SUCCESS</app:exitcodestate></app:exitcode><app:exitcode><app:exitcoderange>4</app:exitcoderange><app:exitcodestate>SUCCESS</app:exitcodestate></app:exitcode></app:exitcodelist><app:agent>NT_VFTPD02</app:agent><app:userid>WCBBC\JOBMAST</app:userid>
    		<app:args>-command "D:\Cyb_exec\andy_test\setExitCode.ps1" 0</app:args>
    		<app:cmdname>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</app:cmdname>
    		<app:is_interactive_job>false</app:is_interactive_job>
    	</app:nt_job><app:nt_job name="SetEXIT" qualifier="1">
    		<app:comment>Powershell will exit with the code it is provided in the parameter</app:comment>
    		<app:dependencies><app:relcount>0</app:relcount><app:relconditionlist><app:relcondition><app:successorname>SetEXIT.2</app:successorname><app:condition>"4"</app:condition></app:relcondition><app:relcondition><app:successorname>SetEXIT.5</app:successorname><app:condition>"0"</app:condition></app:relcondition></app:relconditionlist></app:dependencies><app:notifynodefaults>false</app:notifynodefaults>
    		<app:alert_notifynodefaults>false</app:alert_notifynodefaults>
    		<app:snmp_notifynodefaults>false</app:snmp_notifynodefaults>
    		<app:hold>false</app:hold>
    		<app:request>false</app:request>
    		<app:conditional>false</app:conditional>
    		<app:criticaljob>false</app:criticaljob>
    		<app:job_ancestor_wait_default_ignore>true</app:job_ancestor_wait_default_ignore>
    		<app:retry>
    			<app:retry_count>0</app:retry_count>
    			<app:retry_interval>0</app:retry_interval>
    			<app:last_notify_email>false</app:last_notify_email>
    			<app:last_notify_alerts>false</app:last_notify_alerts>
    			<app:last_notify_snmp>false</app:last_notify_snmp>
    		</app:retry>
    		<app:subappl_wait>false</app:subappl_wait>
    		
    		
    		<app:exitcodelist><app:exitcode><app:exitcoderange>0</app:exitcoderange><app:exitcodestate>SUCCESS</app:exitcodestate></app:exitcode><app:exitcode><app:exitcoderange>4</app:exitcoderange><app:exitcodestate>SUCCESS</app:exitcodestate></app:exitcode></app:exitcodelist><app:agent>NT_VFTPD02</app:agent><app:userid>WCBBC\JOBMAST</app:userid>
    		<app:args>-command "D:\Cyb_exec\andy_test\setExitCode.ps1" 0</app:args>
    		<app:cmdname>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</app:cmdname>
    		<app:is_interactive_job>false</app:is_interactive_job>
    	</app:nt_job></app:appl>



  • 4.  RE: Conditional Release based on exit codes
    Best Answer

    Posted Jun 18, 2019 02:33 PM
    I tested another option (adding a link to the 0 path) and this provided the expected results.