Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • --url
  • --user
    • Specifies the user account for login to JOC Cockpit. If JS7 - Identity Services are available for Client authentication certificates that are specified with the --client-cert and --client-key options then their common name (CN) attribute has to match the user account.
    • If a user account is specified then a password can be specified using the --password option or interactive keyboard input can be prompted using the -p switch.
  • --password
    • Specifies the password used for the account specified with the --user option for login to JOC Cockpit.
    • Consider use of the -p switch offering a secure option for interactive keyboard input.
  • --controller-id
    • Specifies the identification of the Controller that holds related orders.
  • --ca-cert
    • Specifies the path to a file in PEM format that holds the Root CA Certificate and optionally Intermediate CA Certificates to verify HTTPS connections to JOC Cockpit.
  • --client-cert
    • Specifies the path to a file in PEM format that holds the Client Certificate if HTTPS mutual authentication is used..
  • --client-key
    • Specifies the path to a file in PEM format that holds the Client Private Key if HTTPS mutual authentication is used..
  • --timeout
    • Specifies the maximum duration for requests to the JS7 REST Web Service. Default: 15 seconds.
  • --order-name
    • Specifies a qualifier that is added to newly created orders. Used with add-order command.
  • --block-position
    • Specifies the label of a block instruction such as JS7 - Resource Locks, should the --start-position option be used for a position inside the block instruction. Used with add-order command.
  • --start-position
    • Specifies the label of an instruction in the workflow from which the order is started, for example from a job. Used with add-order and resume-order commands.
    • The label of a top-level instruction can be specified. For start positions from nested instructions the --block-position option has to be specified too.
  • --end-position
    • Specifies the label of an instruction before which the order will terminate. More than one label can be specified separated by comma. Used with add-order command.
    • If the --block-position option is used then the end position is inside the block. Otherwise the order will terminate when reaching the block's end.
  • --variable
    • One or more variables can be specified that hold key/value pairs separated by comma. Used with add-order and resume-order commands.
    • Example: --variable="myVar1=myValue1,myVar2=myValue2"
  • --date-from
    • Specifies the date and time in ISO format of the daily plan date, for example 2023-10-23. Used with cancel-order and suspend-order commands.
    • Dates can be calculated from the date command, for example:
      • --date-to="$(TZ=Europe/London date +'%Y-%m-%d')" specifies the daily plan date before the current day in the Europe/London time zone.
      • --date-to="$(TZ=Europe/London date --date="1 day ago" +'%Y-%m-%d')" specifies the daily plan date before yesterday.
  • --date-to
    • Specifies the date and time in ISO format of the daily plan date, for example 2023-10-23. Used with add-order, cancel-order,suspend-order, get-notice and delete-notice commands.
    • Dates can be calculated from the date command, for example:
      • --date-to="$(TZ=Europe/London date +'%Y-%m-%d')" specifies the daily plan date before the current day in the Europe/London time zone.
      • --date-to="$(TZ=Europe/London date --date="1 day ago" +'%Y-%m-%d')" specifies the daily plan date before yesterday.
  • --time-zone
  • --state
    • Specifies one or more states - separated by comma - for which orders should be processed. Used with cancel-order, suspend-order, resume-order and letrun-order commands.
    • Valid states includePENDING, SCHEDULED, INPROGRESS, RUNNING, SUSPENDED, WAITING, PROMPTING, FAILED, BLOCKED.
    • For example --state=SCHEDULED,SUSPENDED,FAILED will process orders holding any of the given states.
  • --folder
    • Specifies one or more inventory folders from absolute paths - separated by comma - holding workflows that should be processed.
    • For example --folder=/ProductDemo/CyclicExecution,/ProductDemo/ScheduledExecution will process workflows in the given folders.
    • If the --recursive switch is used then sub-folders will be looked up recursively.
  • --workflow
    • Specifies one or more workflows - separated by comma - that should be processed. Used with most of the commands.
    • For example --workflow=Cyclic-Check,Daily-EOD will consider the Cyclic-Check and Daily-EOD workflows.
  • --order-id
    • Specifies one or more order identifiers - separated by comma - for which orders should be processed. Used with cancel-order, suspend-order, resume-order and letrun-order commands.
    • For example --order-id=#2024-08-25#T54565139012-sos,#2024-08-25#T56189833113-sos will process the indicated orders.
  • --label
    • Specifies one or more labels - separated by comma - for jobs that should be processed. Used with stop-job, unstop-job, skip-job and unskip-job commands.
    • For example --label=job1,job2 will consider jobs assigned the indicated labels.
  • --notice-board
    • Specifies one or more JS7 - Notice Boards - separated by comma - that should be processed. Used with the post-notice, get-notice and delete-notice commands.
  • --notice-id
    • Specifies the identifier of a notice, frequently the daily plan date is used, for example 2024-08-21. Used with the post-notice, get-notice and delete-notice commands.
  • --notice-lifetime
    • Specifies the max. period for which the notice will be available. Periods such as 1h, 30m can be specified. Used with the post-notice command.
  • --log-dir
    • If a log directory is specified then the script will log information about processing steps to a log file in this directory.
    • File names are created according to the pattern: manage-workflow.<yyyy>-<MM>-<dd>T<hh>-<mm>-<ss>.log
    • For example: manage-workflow.2022-03-19T20-50-45.log

...

Code Block
titleExample for Posting, Reading and Deleting Notices
linenumberstrue
# common options for connection to JS7 REST API
request_options=(--url=http://localhost:4446 --user=root --password=root --controller-id=controller)

# post notice for current daily plan date
./manage-workflow.sh post-notice ${request_options[@]} \
	--notice-board=ap3jobs

# post notice for specific daily plan date and lifetime
./manage-workflow.sh post-notice ${request_options[@]} \
	--notice-board=ap3jobs --notice-id=2024-08-26 --notice-lifetime=6h


# reading notices from notice board
./manage-workflow.sh get-notice ${request_options[@]} \
    --notice-board=ap3jobs

# reading specific notice from notice board
./manage-workflow.sh get-notice ${request_options[@]} \
    --notice-board=ap3jobs --notice-id=2024-08-26

# reading notices by folder
./manage-workflow.sh get-notice ${request_options[@]} \
    --folder=/ap --recursive


# delete notices from notice board for current daily plan date
./manage-workflow.sh delete-notice ${request_options[@]} \
	--notice-board=ap3jobs

# delete specific notices forfrom notice board andusing notice identifiers
./manage-workflow.sh delete-notice ${request_options[@]} \
	--notice-board=ap3jobs --notice-id=2024-08-25,2024-08-26

# delete notices by folder
 ./manage-workflow.sh delete-notice ${request_options[@]} \
	--folder=/ap --recursive

...