{
    "TYPE": "Workflow",
    "path": "JIRA-JS-2197",
    "versionId": "f6f23e97-ee1d-4715-b43a-e73984bcf9ab",
    "timeZone": "Europe/Amsterdam",
    "orderPreparation": {
        "parameters": {
            "js7Workflow.path": {
                "type": "String",
                "final": "\"/ap/JIRA-JS-2197\""
            }
        }
    },
    "instructions": [
        {
            "TYPE": "Try",
            "try": {
                "instructions": [
                    {
                        "TYPE": "Lock",
                        "lockedWorkflow": {
                            "instructions": [
                                {
                                    "TYPE": "Execute.Named",
                                    "jobName": "call_esb_filetransfer",
                                    "label": "call_esb_filetransfer",
                                    "defaultArguments": {
                                        "wsparams": "'&key=esb_ckr_ErrorCodeTest'"
                                    }
                                },
                                {
                                    "TYPE": "If",
                                    "predicate": "$fileservices_errno.toNumber == 9999 && $js7MaxTries > $js7TryCount",
                                    "then": {
                                        "instructions": [
                                            {
                                                "TYPE": "Fail",
                                                "message": "'Fehler beim Aufruf des Filetransfers' ++ $fileservices_errno",
                                                "namedValues": {
                                                    "returnCode": 0
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "demands": [
                            {
                                "lockPath": "apRetryResourceLock"
                            }
                        ]
                    }
                ]
            },
            "catch": {
                "instructions": [
                    {
                        "TYPE": "Retry"
                    }
                ]
            },
            "maxTries": 2,
            "retryDelays": [
                60,
                60
            ]
        },
        {
            "TYPE": "If",
            "predicate": "toNumber($fileservices_errno)>=0",
            "then": {
                "instructions": [
                    {
                        "TYPE": "Execute.Named",
                        "jobName": "send_email",
                        "label": "send_email_success",
                        "defaultArguments": {
                            "subject": "'Test der Errorcodes'",
                            "body": "'Die Jobchain $js7WorkflowPath wurde erfolgreich ausgeführt'",
                            "from_name": "\"Jobscheduler JS7\""
                        }
                    }
                ]
            },
            "else": {
                "instructions": [
                    {
                        "TYPE": "Execute.Named",
                        "jobName": "send_email",
                        "label": "send_email_error",
                        "defaultArguments": {
                            "subject": "'Test der Errorcodes'",
                            "body": "\"Die Jobchain $js7WorkflowPath ist nicht erfolgreich beendet.\n\nDer Fileservicejob ist fehlgeschlagen. Errorcode $fileservices_errno  \n\n$fileservices_msg\"",
                            "from_name": "\"Jobscheduler JS7\""
                        }
                    },
                    {
                        "TYPE": "Execute.Named",
                        "jobName": "Set_Jobchainstatus_Fail",
                        "label": "Set_Jobchainstatus_Fail"
                    }
                ]
            }
        }
    ],
    "jobs": {
        "call_esb_filetransfer": {
            "agentPath": "agent_113",
            "executable": {
                "TYPE": "ShellScriptExecutable",
                "script": "set JS7_RETURN_VALUES=%SCHEDULER_RETURN_VALUES%\necho JS7_RETURN_VALUES=%JS7_RETURN_VALUES%\necho fileservices_errno=9999 >> %JS7_RETURN_VALUES%\n",
                "env": {
                    "SCHEDULER_PARAM_USECALLERINFO": "'true'",
                    "SCHEDULER_PARAM_WSPORT": "'8080'",
                    "SCHEDULER_PARAM_FILESERVICES_NO_EXCEPTION": "'true'",
                    "SCHEDULER_PARAM_WSPATH": "'/fileservices/FSTriggerServlet?psk=caa8f6a2-870e-4730-9824-93e887b23d78'",
                    "SCHEDULER_PARAM_WSHOST": "'192.168.1.225'"
                },
                "v1Compatible": true
            },
            "processLimit": 20,
            "sigkillDelay": 1
        },
        "send_email": {
            "agentPath": "agent_113",
            "executable": {
                "TYPE": "InternalExecutable",
                "className": "com.sos.jitl.jobs.mail.MailJob"
            },
            "processLimit": 1,
            "sigkillDelay": 1
        },
        "Set_Jobchainstatus_Fail": {
            "agentPath": "agent_113",
            "executable": {
                "TYPE": "ShellScriptExecutable",
                "script": "ping 127.0.0.1",
                "returnCodeMeaning": {
                    "success": "1"
                }
            },
            "processLimit": 1,
            "sigkillDelay": 1
        }
    }
}