Name
Add-JS7Order
SYNOPSIS
Adds an order to a workflow in a JS7 Controller
SYNTAX
Add-JS7Order [-WorkflowPath] <String> [[-OrderName] <String>] [[-Variables] <Hashtable>] [[-At] <String>] [[-AtDate] <DateTime>] [[-Timezone] <String>] [[-StartPosition] <Object[]>] [[-EndPositions] <Object[][]>] [[-ControllerId] <String>] [[-BatchSize] <Int32>] [[-RunningNumber] <Int32>] [[-AuditComment] <String>] [[-AuditTimeSpent] <Int32>] [[-AuditTicketLink] <Uri>] [<CommonParameters>]
DESCRIPTION
Creates a temporary order for execution with the specified workflow.
The following REST Web Service API resources are used:
* /orders/add
PARAMETERS
WorkflowPath
-WorkflowPath <String>
Specifies the path and name of a workflow for which an order should be added.
Required? | true |
Position? | 1 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
OrderName
-OrderName <String>
Specifies the name of an order. The JOC Cockpit web service will consider the order name
when creating unique Order IDs with the pattern #<YYYY-MM-DD>#<qualifier><timestamp>-<order-name>
such as #2020-11-22#T072521128-Some_Order_Name.
* YYYY-MM-DD: Date for which the order is scheduled
* qualifier: one of T(emporary), P(lan), F(ile), created by AD(D) Order Instruction
* timespan: time specified in milliseconds
* order-name: the value of the -OrderName parameter
Required? | false |
Position? | 2 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
Variables
-Variables <Hashtable>
Specifies the variables for the order. Variables are created from a hashmap,
i.e. a list of names and values. Values have to be specified according to the
variables declaration of the workflow and include use of the data types:
* string: $orderVariables = @{ 'arg1' = 'value1' }
* number: $orderVariables = @{ 'arg2' = 3.14 }
* boolean: $orderVariables = @{ 'arg3' = $true }
Example:
$orderVariables = @{ 'var1' = 'value1'; 'var2' = 3.14; 'var3' = $true }
Consider that a workflow can declare required variables that have to be added to an order.
Required? | false |
Position? | 3 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
At
-At <String>
Specifies the point in time when the order should start. Values are added like this:
* now
** specifies that the order should start immediately
* now+1800
** specifies that the order should start with a delay of 1800 seconds, i.e. 30 minutes later.
* yyyy-mm-dd HH:MM[:SS]
** specifies that the order should start at the specified point in time.
* never
** specifies that the order is added without a desired start time. Users have to manually modify the start time
of such orders to make them start.
Required? | false |
Position? | 4 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
AtDate
-AtDate <DateTime>
Specifies the date when the order should start. The time zone is used from the date provided.
Required? | false |
Position? | 5 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
Timezone
-Timezone <String>
Specifies the time zone to be considered for the start time that is indicated with the -At parameter.
Without this parameter the time zone of the JS7 Controller is assumed.
This parameter should be used if the JS7 Controller runs in a time zone different from the environment
that makes use of this cmdlet.
Find the list of time zone names from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
Required? | false |
Position? | 6 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
StartPosition
-StartPosition <Object[]>
Specifies the position in the workflow that the order will be started for.
The first level instructions in a workflow are allowed start positions.
The position is specified by the numeric index of the instruction in the workflow:
* 0: first instruction
* 1: second instruction
* ...
The Get-JS7OrderAddPosition cmdlet returns available positions for adding orders.
Required? | false |
Position? | 7 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
EndPositions
-EndPositions <Object[][]>
Specifies that the order should leave the workflow before the workflow nodes that
are assigned the specified positions.
* 1: second instruction
* 2: third instruction
* ...
The Get-JS7OrderAddPosition cmdlet returns available positions for adding orders.
Required? | false |
Position? | 8 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
ControllerId
-ControllerId <String>
Optionally specifies the identification of the Controller to which the order is added.
Required? | false |
Position? | 9 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
BatchSize
-BatchSize <Int32>
As this cmdlet accepts pipelined input a larger number of orders can be added at the same time.
This is particularly true if the Invoke-JS7TestRun cmdlet is used.
Larger numbers of orders are split into individual calls to the REST API according to the batch size.
This is required as larger batches could exceed the size of HTTP post requests that frequently
is limited to 4MB if an HTTP proxy is used.
Required? | false |
Position? | 10 |
Default value | 100 |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
RunningNumber
-RunningNumber <Int32>
This parameter is implicitly used when pipelining input to the cmdlet as e.g. with
1..10 | Add-JS7Order -WorkflowPath /some_path/some_workflow
Required? | false |
Position? | 11 |
Default value | 0 |
Accept pipeline input? | true (ByValue, ByPropertyName) |
Accept wildcard characters? | false |
AuditComment
-AuditComment <String>
Specifies a free text that indicates the reason for the current intervention,
e.g. "business requirement", "maintenance window" etc.
The Audit Comment is visible from the Audit Log view of the JOC Cockpit.
This argument is not mandatory, however, JOC Cockpit can be configured
to enforce Audit Log comments for any interventions.
Required? | false |
Position? | 12 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
AuditTimeSpent
-AuditTimeSpent <Int32>
Specifies the duration in minutes that the current intervention required.
This information is shown in the Audit Log view. It can be useful when integrated
with a ticket system that logs the time spent on interventions with JS7.
Required? | false |
Position? | 13 |
Default value | 0 |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
AuditTicketLink
-AuditTicketLink <Uri>
Specifies a URL to a ticket system that keeps track of any interventions performed for JS7.
This information is shown in the Audit Log view of JOC Cockpit.
It can be useful when integrated with a ticket system that logs interventions with JS7.
Required? | false |
Position? | 14 |
Default value | |
Accept pipeline input? | true (ByPropertyName) |
Accept wildcard characters? | false |
RELATED LINKS
EXAMPLES
-------------------------- EXAMPLE 1 --------------------------
PS > Add-JS7Order -WorkflowPath /sos/reporting/Reporting -OrderName Test
Adds an order to the indicated workflow.
-------------------------- EXAMPLE 2 --------------------------
PS > $orderIds = 1..10 | Add-JS7Order -WorkflowPath /sos/reporting/Reporting -OrderName Test
Adds 10 orders to the indicated workflow.
-------------------------- EXAMPLE 3 --------------------------
PS > $orderId = Add-JS7Order -OrderName Test -WorkflowPath /sos/reporting/Reporting -At "now+1800"
Adds the indicated order for a start time 30 minutes (1800 seconds) from now.
-------------------------- EXAMPLE 4 --------------------------
PS > $orderId = Add-JS7Order -OrderName Test -WorkflowPath /sos/reporting/Reporting -At "2038-01-01 00:00:00" -Timezone "Europe/Berlin"
Adds andorder for a later date that is specified for the "Europe/Berlin" time zone.
-------------------------- EXAMPLE 5 --------------------------
PS > $orderId = Add-JS7Order -WorkflowPath /sos/reporting/Reporting -At "now+3600" -Variables @{'var1' = 'value1'; 'var2' = 3.14; 'var3' = $true}
Adds an order to the indicated workflow. The order will start one hour later and will use the variables as specified by the -Variables parameter.
-------------------------- EXAMPLE 6 --------------------------
PS > $orderId = Add-JS7Order -WorkflowPath /ProductDemo/ParallelExecution/pdwFork -StartPosition 1
Adds an order to the second position (index: 1) of the indicated workflow.
-------------------------- EXAMPLE 7 --------------------------
PS > $positions = Get-JS7OrderAddPosition -WorkflowPath /ProductDemo/ParallelExecution/pdwFork
$orderId = Add-JS7Order -WorkflowPath /ProductDemo/ParallelExecution/pdwFork -StartPosition $positions[2].position
Adds an order to the third position (index: 2) of the indicated workflow.
-------------------------- EXAMPLE 8 --------------------------
PS > $orderId = Add-JS7Order -WorkflowPath /ProductDemo/ParallelExecution/pdwFork -EndPositions 1,2
Adds an order for two possible end positions with the second (index: 1) and third (index: 2) position of the indicated workflow.
-------------------------- EXAMPLE 9 --------------------------
PS > $positions = Get-JS7OrderAddPosition -WorkflowPath /ProductDemo/ParallelExecution/pdwFork
$orderId = $orderId = Add-JS7Order -WorkflowPath /ProductDemo/ParallelExecution/pdwFork -EndPositions @( $positions[2].position, $positions[3].position )
Adds an order for two possible end positions with the third (index: 2) and fourth (index: 3) position of the indicated workflow.