200 |
Each workflow can have a compact or detailed response. It depends on the parameter compact.
- Required fields of a compact view are
- path
- versionId
- isCurrentVersion
- versionDate
- state
- The compact view have further optional fields
- title
- orderPreparation
- forklistParameters
- documentationName
- hasExpectedNoticeBoard
- hasPostNoticeBoard
- The detailed view has the following required fields in addition to the compact view
- The detailed view has the following optional fields in addition to the compact view
- fileOrderSources
- jobResourceNames
|
|
application/json
model |
example
{
"title": "workflow",
"$schema": "http://json-schema.org/draft-04/schema#",
"javaType": "com.sos.joc.model.workflow.Workflow",
"type": "object",
"properties": {
"deliveryDate": {
"description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
"type": "string",
"format": "date-time"
},
"surveyDate": {
"description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
"type": "string",
"format": "date-time"
},
"workflow": {
"javaType": "com.sos.controller.model.workflow.Workflow",
"type": "object",
"extends": {
"javaType": "com.sos.inventory.model.workflow.Workflow",
"type": "object",
"javaInterfaces": [
"com.sos.joc.model.common.IConfigurationObject",
"com.sos.joc.model.common.IDeployObject",
"com.sos.inventory.model.common.IInventoryObject"
],
"required": [
"instructions",
"jobs"
],
"propertyOrder": [
"TYPE",
"version",
"versionId",
"timeZone",
"title",
"documentationName",
"orderPreparation",
"jobResourceNames",
"instructions",
"jobs"
],
"description": "deploy object with fixed property 'TYPE':'Workflow'",
"properties": {
"TYPE": {
"javaType": "com.sos.inventory.model.deploy.DeployType",
"type": "string",
"enum": [
"Workflow",
"JobClass",
"Lock",
"FileWatch",
"JobResource",
"Board"
],
"javaEnumNames": [
"Workflow",
"JobClass",
"Lock",
"FileWatch",
"JobResource",
"Board"
],
"default": "Workflow"
},
"version": {
"description": "inventory repository version",
"type": "string",
"pattern": "[0-9]+\\.[0-9]+\\.[0-9]+",
"default": "1.0.0",
"maxLength": 10
},
"versionId": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"timeZone": {
"type": "string",
"default": "Etc/UTC"
},
"title": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"documentationName": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"orderPreparation": {
"javaType": "com.sos.inventory.model.workflow.Requirements",
"type": "object",
"alias": "orderRequirements",
"properties": {
"parameters": {
"javaType": "com.sos.inventory.model.workflow.Parameters",
"type": "object",
"additionalProperties": {
"javaType": "com.sos.inventory.model.workflow.Parameter",
"type": "object",
"required": [
"type"
],
"description": "parameters only for parameter type 'List'",
"properties": {
"type": {
"javaType": "com.sos.inventory.model.workflow.ParameterType",
"type": "string",
"enum": [
"String",
"Number",
"Boolean",
"List"
],
"javaEnumNames": [
"String",
"Number",
"Boolean",
"List"
]
},
"default": {
"description": "this value has to have the data type of the 'type' attribute",
"anyOf": [{
"type": "string"
}, {
"type": "number"
}, {
"type": "boolean"
}, {
"type": "array"
}],
"javaType": "java.lang.Object"
},
"final": {
"type": "string"
},
"listParameters": {
"javaType": "com.sos.inventory.model.workflow.ListParameters",
"type": "object",
"additionalProperties": {
"javaType": "com.sos.inventory.model.workflow.ListParameter",
"type": "object",
"required": [
"type"
],
"description": "parameter type only Number, Boolean or String",
"properties": {
"type": {
"javaType": "com.sos.inventory.model.workflow.ListParameterType",
"type": "string",
"enum": [
"String",
"Number",
"Boolean"
],
"javaEnumNames": [
"String",
"Number",
"Boolean"
]
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"allowUndeclared": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"jobResourceNames": {
"alias": "jobResourcePaths",
"type": "array",
"items": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
}
},
"instructions": {
"type": "array",
"minItems": 1,
"items": {
"javaType": "com.sos.inventory.model.instruction.Instruction",
"type": "object",
"required": [
"TYPE"
],
"properties": {
"TYPE": {
"javaType": "com.sos.inventory.model.instruction.InstructionType",
"type": "string",
"enum": [
"Execute.Named",
"If",
"Try",
"Fork",
"ForkList",
"Finish",
"Fail",
"Retry",
"Lock",
"Prompt",
"PostNotice",
"ExpectNotice",
"ImplicitEnd",
"AddOrder"
]
},
"position": {
"description": "Actually, each even item is a string, each odd item is an integer",
"type": "array",
"items": {
"anyOf": [{
"type": "integer"
}, {
"type": "string"
}]
}
},
"positionString": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
}
},
"additionalProperties": false
}
},
"jobs": {
"javaType": "com.sos.inventory.model.workflow.Jobs",
"type": "object",
"additionalProperties": {
"javaType": "com.sos.inventory.model.job.Job",
"type": "object",
"javaInterfaces": [
"com.sos.joc.model.common.IConfigurationObject"
],
"required": [
"agentName",
"executable"
],
"description": "returnCodeMeaning is deprecated: moved to ShellScriptExecutable",
"properties": {
"agentName": {
"alias": "agentId,agentPath",
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255,
"minLength": 1
},
"executable": {
"javaType": "com.sos.inventory.model.job.Executable",
"oneOf": [{
"javaType": "com.sos.inventory.model.job.ExecutableScript",
"type": "object",
"extends": {
"javaType": "com.sos.inventory.model.job.Executable",
"type": "object",
"required": [
"TYPE"
],
"properties": {
"TYPE": {
"javaType": "com.sos.inventory.model.job.ExecutableType",
"type": "string",
"enum": [
"ShellScriptExecutable",
"ScriptExecutable",
"InternalExecutable"
],
"javaEnumNames": [
"ShellScriptExecutable",
"ScriptExecutable",
"InternalExecutable"
]
}
},
"additionalProperties": false
},
"required": [
"script"
],
"propertyOrder": [
"TYPE",
"script",
"env",
"v1Compatible"
],
"description": "executable with fixed property 'TYPE':'ShellScriptExecutable'",
"properties": {
"script": {
"type": "string",
"minLength": 1
},
"env": {
"description": "a map for arbitrary key-value pairs",
"javaType": "com.sos.inventory.model.job.Environment",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"v1Compatible": {
"type": "boolean",
"default": false
},
"returnCodeMeaning": {
"javaType": "com.sos.inventory.model.job.JobReturnCode",
"type": "object",
"oneOf": [{
"required": [
"success"
]
}, {
"required": [
"failure"
]
}],
"properties": {
"success": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"failure": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
}
},
"additionalProperties": false
},
"login": {
"type": "object",
"javaType": "com.sos.inventory.model.job.ExecutableScriptLogin",
"properties": {
"credentialKey": {
"type": "string"
},
"withUserProfile": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}, {
"javaType": "com.sos.inventory.model.job.ExecutableJava",
"type": "object",
"extends": {
"javaType": "com.sos.inventory.model.job.Executable",
"type": "object",
"required": [
"TYPE"
],
"properties": {
"TYPE": {
"javaType": "com.sos.inventory.model.job.ExecutableType",
"type": "string",
"enum": [
"ShellScriptExecutable",
"ScriptExecutable",
"InternalExecutable"
],
"javaEnumNames": [
"ShellScriptExecutable",
"ScriptExecutable",
"InternalExecutable"
]
}
},
"additionalProperties": false
},
"required": [
"className"
],
"propertyOrder": [
"TYPE",
"className"
],
"description": "executable with fixed property 'TYPE':'InternalExecutable'",
"properties": {
"className": {
"type": "string",
"minLength": 1
},
"jobArguments": {
"description": "a map for arbitrary key-value pairs",
"javaType": "com.sos.inventory.model.common.Variables",
"type": "object",
"additionalProperties": true
},
"arguments": {
"description": "a map for arbitrary key-value pairs",
"javaType": "com.sos.inventory.model.job.Environment",
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false
}]
},
"admissionTimeScheme": {
"javaType": "com.sos.inventory.model.job.AdmissionTimeScheme",
"type": "object",
"required": [
"periods"
],
"properties": {
"periods": {
"type": "array",
"items": {
"javaType": "com.sos.inventory.model.job.AdmissionTimePeriod",
"type": "object",
"properties": {
"TYPE": {
"description": "only yet 'WeekdayPeriod'",
"type": "string"
},
"secondOfWeek": {
"type": "integer",
"minimum": 0
},
"duration": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"returnCodeMeaning": {
"javaType": "com.sos.inventory.model.job.JobReturnCode",
"type": "object",
"oneOf": [{
"required": [
"success"
]
}, {
"required": [
"failure"
]
}],
"properties": {
"success": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"failure": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
}
},
"additionalProperties": false
},
"parallelism": {
"alias": "taskLimit",
"type": "integer",
"minimum": 1,
"default": 1
},
"timeout": {
"type": "integer",
"minimum": 0
},
"graceTimeout": {
"alias": "sigkillDelay",
"description": "in seconds",
"type": "integer",
"minimum": 0,
"default": 15
},
"failOnErrWritten": {
"type": "boolean",
"default": false
},
"jobClass": {
"description": "absolute path of an object.",
"type": "string",
"pattern": "^(/|(/[^/\\<>?:\"|*]+)+)$",
"maxLength": 255,
"minLength": 1
},
"defaultArguments": {
"description": "a map for arbitrary key-value pairs",
"javaType": "com.sos.inventory.model.job.Environment",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"jobResourceNames": {
"alias": "jobResourcePaths",
"type": "array",
"items": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
}
},
"title": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"documentationName": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"criticality": {
"javaType": "com.sos.inventory.model.job.JobCriticality",
"type": "string",
"enum": [
"NORMAL",
"CRITICAL"
]
},
"warnIfShorter": {
"type": "integer",
"minimum": 0
},
"warnIfLonger": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"properties": {
"path": {
"description": "absolute path of an object.",
"type": "string",
"pattern": "^(/|(/[^/\\\\<>?:\"|*]+)+)$",
"maxLength": 255,
"minLength": 1
},
"isCurrentVersion": {
"type": "boolean",
"default": true
},
"versionDate": {
"description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
"type": "string",
"format": "date-time"
},
"state": {
"javaType": "com.sos.controller.model.common.SyncState",
"type": "object",
"required": [
"severity",
"_text"
],
"properties": {
"severity": {
"type": "integer"
},
"_text": {
"javaType": "com.sos.controller.model.common.SyncStateText",
"type": "string",
"enum": [
"IN_SYNC",
"NOT_IN_SYNC",
"UNKNOWN"
]
}
}
},
"fileOrderSources": {
"type": "array",
"items": {
"javaType": "com.sos.controller.model.fileordersource.FileOrderSource",
"type": "object",
"extends": {
"javaType": "com.sos.inventory.model.fileordersource.FileOrderSource",
"type": "object",
"javaInterfaces": [
"com.sos.joc.model.common.IConfigurationObject",
"com.sos.joc.model.common.IDeployObject",
"com.sos.inventory.model.common.IInventoryObject"
],
"required": [
"workflowName",
"agentName",
"directory"
],
"propertyOrder": [
"TYPE",
"version",
"workflowName",
"agentName",
"directory",
"pattern",
"timeZone",
"delay",
"title",
"documentationName"
],
"description": "deploy object with fixed property 'TYPE':'FileWatch'",
"properties": {
"TYPE": {
"javaType": "com.sos.inventory.model.deploy.DeployType",
"type": "string",
"enum": [
"Workflow",
"JobClass",
"Lock",
"FileWatch",
"JobResource",
"Board"
],
"javaEnumNames": [
"Workflow",
"JobClass",
"Lock",
"FileWatch",
"JobResource",
"Board"
],
"default": "Workflow"
},
"version": {
"description": "inventory repository version",
"type": "string",
"pattern": "[0-9]+\\.[0-9]+\\.[0-9]+",
"default": "1.0.0",
"maxLength": 10
},
"workflowName": {
"alias": "workflowPath",
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255,
"minLength": 1
},
"agentName": {
"alias": "agentId,agentPath",
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255,
"minLength": 1
},
"directory": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255,
"minLength": 1
},
"pattern": {
"type": "string"
},
"timeZone": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"delay": {
"type": "integer",
"format": "utc-millisec",
"minimum": 1,
"maximum": 9999
},
"title": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
},
"documentationName": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
}
},
"additionalProperties": false
},
"properties": {
"path": {
"description": "absolute path of an object.",
"type": "string",
"pattern": "^(/|(/[^/\\\\<>?:\"|*]+)+)$",
"maxLength": 255,
"minLength": 1
},
"versionDate": {
"description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
"type": "string",
"format": "date-time"
},
"state": {
"javaType": "com.sos.controller.model.common.SyncState",
"type": "object",
"required": [
"severity",
"_text"
],
"properties": {
"severity": {
"type": "integer"
},
"_text": {
"javaType": "com.sos.controller.model.common.SyncStateText",
"type": "string",
"enum": [
"IN_SYNC",
"NOT_IN_SYNC",
"UNKNOWN"
]
}
}
}
},
"additionalProperties": false
}
},
"forkListVariables": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[^<>]*$",
"maxLength": 255
}
},
"hasExpectedNoticeBoards": {
"type": "boolean"
},
"hasPostNoticeBoards": {
"type": "boolean"
},
"hasAddOrderDependencies": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
{ "deliveryDate": "2021-10-01T22:14:25.914+0000", "surveyDate": "2021-10-01T22:14:24.691+0000", "workflow": { "path": "/JS7Demo/01_HelloWorld/jdHelloWorld", "isCurrentVersion": true, "versionDate": "2021-09-27T22:21:40.000+0000", "state": { "severity": 6, "_text": "IN_SYNC" }, "hasExpectedNoticeBoards": false, "hasPostNoticeBoards": false, "hasAddOrderDependencies": false, "TYPE": "Workflow", "version": "1.0.0", "versionId": "f50bef79-1f01-4b02-a7c7-94f47f05d449", "timeZone": "Etc/UTC", "title": "Say Hello World", "documentationName": "PKB-JS7-OnlineDemo-Workflow-HelloWorld", "jobResourceNames": ["Default"], "instructions": [{ "TYPE": "Execute.Named", "jobName": "job-hello-world", "label": "job-hello-world", "position": [0], "positionString": "0" }, { "TYPE": "ImplicitEnd", "position": [1], "positionString": "1" }], "jobs": { "job-hello-world": { "agentName": "primaryAgent", "executable": { "TYPE": "ShellScriptExecutable", "script": "echo \"using workflow: $JS7_WORKFLOW_NAME\"\necho \"running job: $JS7_JOB_NAME\"\n\necho \"Hello World\"", "v1Compatible": false }, "skipIfNoAdmissionForOrderDay": false, "parallelism": 1, "graceTimeout": 15, "failOnErrWritten": false, "title": "Say hello world" } } } }
{
"deliveryDate": "2021-10-01T22:14:25.914+0000",
"surveyDate": "2021-10-01T22:14:24.691+0000",
"workflow": {
"path": "/JS7Demo/01_HelloWorld/jdHelloWorld",
"isCurrentVersion": true,
"versionDate": "2021-09-27T22:21:40.000+0000",
"state": {
"severity": 6,
"_text": "IN_SYNC"
},
"hasExpectedNoticeBoards": false,
"hasPostNoticeBoards": false,
"hasAddOrderDependencies": false,
"TYPE": "Workflow",
"version": "1.0.0",
"versionId": "f50bef79-1f01-4b02-a7c7-94f47f05d449",
"timeZone": "Etc/UTC",
"title": "Say Hello World",
"documentationName": "PKB-JS7-OnlineDemo-Workflow-HelloWorld",
"jobResourceNames": ["Default"],
"instructions": [{
"TYPE": "Execute.Named",
"jobName": "job-hello-world",
"label": "job-hello-world",
"position": [0],
"positionString": "0"
}, {
"TYPE": "ImplicitEnd",
"position": [1],
"positionString": "1"
}],
"jobs": {
"job-hello-world": {
"agentName": "primaryAgent",
"executable": {
"TYPE": "ShellScriptExecutable",
"script": "echo \"using workflow: $JS7_WORKFLOW_NAME\"\necho \"running job: $JS7_JOB_NAME\"\n\necho \"Hello World\"",
"v1Compatible": false
},
"skipIfNoAdmissionForOrderDay": false,
"parallelism": 1,
"graceTimeout": 15,
"failOnErrWritten": false,
"title": "Say hello world"
}
}
}
}
|