Tips for converting jobs out of a third party scheduler

Follow

It is possible to automate the creation of JAMS Jobs by taking the information from another Enterprise scheduler and feeding information into a JAMS XML which can then be imported automatically.

There are a few things to keep in mind:

  • The imported Jobs must be in JAMS XML format
  • An extract of a Sample Job to see the XML format that should be used or a temporary Job can be created based on common Properties from the other scheduler
  • Many other schedulers use their own database, or have their own proprietary mark up language which could be parsed into the JAMS XML

Below are examples of exported Jobs from JAMS. Note that exports will differ or contain additional information dependent on the properties and elements set on the Job.

JAMS V7 Exported Job:

<?xml version="1.0" encoding="utf-8"?>
<JAMSObjects>
<job
name="ShowEnvironment"
method="Command">
<description><![CDATA[Show the Job's environment]]></description>
<source><![CDATA[CD
PATH
SET
SYSTEMINFO
]]></source>
<properties />
<elements />
<acl>
<ace
identifier="MVPCT-999\HermanSapien"
inheritcontainer="False"
inheritobject="False"
inheritonly="False"
access="Manage,Change,Inquire,Delete,Submit,Debug,Monitor,Abort,Control" />
<ace
identifier="NT AUTHORITY\SYSTEM"
inheritcontainer="False"
inheritobject="False"
inheritonly="False"
access="Manage,Change,Inquire,Delete,Submit,Debug,Monitor,Abort,Control" />
</acl>
</job>
</JAMSObjects>
 

 

JAMS V6 Exported Job:

<?xml version="1.0" encoding="UTF-8"?>

-<Jobs xmlns="http://jams.mvpsi.com/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">


-<Job name="ShowEnvironment">

<Description>Show the Job's environment</Description>

<AgentNode>Berry</AgentNode>

<UserName>MVP\GennaroP</UserName>

<RunawayElapsed/>

<ShortElapsed/>

<ScheduledDate>Daily</ScheduledDate>

<TimeZoneName/>

<AutoSubmit>true</AutoSubmit>

<ScheduledTime>08:00:00</ScheduledTime>

<ResubmitEnd>20:00:00</ResubmitEnd>

<DefaultSubmitTime/>

<ScheduleFromTime/>

<ScheduleToTime/>

<ResubmitDelay>01:00</ResubmitDelay>

<StalledTime/>

<RetainTime/>

<PrecheckInterval/>

<RecoverJobName/>

<SubmitMethodName>Command</SubmitMethodName>


-<Requirements>

<Require name="Maintenance_Resource"/>

</Requirements>


-<Parameters>


-<Parameter name="Param1" Length="0" DataType="Text">

<VariableNameIsRelative>false</VariableNameIsRelative>

<DefaultValue>TestVal</DefaultValue>

</Parameter>


-<Parameter name="Param2" Length="8" DataType="DateTime">

<DefaultFormat>MM/dd/yy HH:mm</DefaultFormat>

<VariableNameIsRelative>false</VariableNameIsRelative>

<DefaultValue>Today</DefaultValue>

</Parameter>

</Parameters>

<Reports/>

<Dependencies/>

<Alerts/>

<RetryInterval/>

<SLATime/>

<AdvanceWarning/>

<Source>CD PATH SET SYSTEMINFO</Source>

</Job>

</Jobs>

 

Job Properties are represented by their own keys. By default, keys that do not have any data in them are not defined. This information is based off of our .NET API Job Object definition list.

Job Properties from a third party scheduler would simply be fed into this XML markup between each key. For example, the Agent Node, Job Name, Scheduled Date, etc.

Each Property will be an XML element of the same name unless the documentation shows an override name or an XmlIgnore attribute.

For Job Definitions, the only required item is the Job Name. If errors are encountered during the import, adding the -Verbose flag to the Import-JAMSXml cmdlet can give grater details as to the failure.

Instructions on how to use the JAMS XML cmdlets can be found here.

Have more questions? Submit a request

Comments