1my_cartridge/steptypes.json
2{
3 "step-types":
4 {
5 "script-module-step":
6 [
7 {
8 "@type-id":"custom.MyCustomScriptStepType",
9 "@supports-parallel-execution":"true",
10 "@supports-site-context":"true",
11 "@supports-organization-context":"false",
12 "description":"My custom script step type",
13 "module":"my_cartridge/cartridge/scripts/steps/myModule.ds",
14 "function":"myFunctionName",
15 "transactional":"false",
16 "timeout-in-seconds":"900",
17 "parameters":
18 {
19 "parameter":
20 [
21 {
22 "@name":"MyParameter1",
23 "@type":"boolean",
24 "@required":"true",
25 "description":"A required boolean parameter."
26 },
27 {
28 "@name":"MyParameter2",
29 "@type":"long",
30 "@required":"false",
31 "description":"An optional long parameter. The default value is 10 when not defined.",
32 "default-value":"10"
33 },
34 {
35 "@name":"MyParameter3",
36 "@type":"double",
37 "@required":"true",
38 "@trim":"true",
39 "description":"A required double parameter were the raw value is trimmed, value must be betwenn -10 and +10.",
40 "min-value":"-10",
41 "max-value":"10"
42 },
43 {
44 "@name":"MyParameter4",
45 "@type":"string",
46 "@required":"false",
47 "description":"An optional string parameter, length must be between 10 and 50",
48 "min-length":"10",
49 "max-length":"50"
50 },
51 {
52 "@name":"MyParameter5",
53 "@type":"string",
54 "@required":"true",
55 "@trim":"false",
56 "description":"A required string parameter, must be one of One, Two or Three.",
57 "enum-values":
58 {
59 "value":
60 [
61 "One",
62 "Two",
63 "Three"
64 ]
65 }
66 },
67 {
68 "@name":"MyParameter6",
69 "@type":"datetime-string",
70 "@required":"false",
71 "@target-type":"date",
72 "description":"An optional datetime parameter."
73 },
74 {
75 "@name":"MyParameter7",
76 "@type":"date-string",
77 "@required":"false",
78 "@target-type":"date",
79 "description":"An optional date parameter."
80 },
81 {
82 "@name":"MyParameter8",
83 "@type":"time-string",
84 "@required":"false",
85 "@target-type":"long",
86 "description":"An optional time parameter."
87 }
88 ]
89 },
90 "status-codes":
91 {
92 "status":
93 [
94 {
95 "@code": "ERROR",
96 "description": "Used when the step failed with an error."
97 },
98 {
99 "@code": "FINISHED",
100 "description": "Used when the step finished successfully."
101 },
102 {
103 "@code": "FINISHED_WITH_WARNINGS",
104 "description": "Used when the step finished with warnings."
105 }
106 ]
107 }
108 }
109 ],
110 "pipeline-step":
111 [
112 {
113 "@type-id":"custom.MyCustomPipelineStepType",
114 "@supports-parallel-execution":"false",
115 "@supports-site-context":"false",
116 "@supports-organization-context":"true",
117 "pipeline":"MyProcessPipeline-MyStartNode",
118 "description":"This is a custom pipeline step type",
119 "parameters":
120 {
121 "parameter":
122 [
123 {
124 "@name":"MyParameter1",
125 "@type":"boolean",
126 "@required":"true",
127 "description":"A required boolean parameter."
128 }
129 ]
130 },
131 "status-codes":
132 {
133 "status":
134 [
135 {
136 "@code": "ERROR",
137 "description": "Used when the step failed with an error."
138 }
139 ]
140 }
141 }
142 ],
143 "chunk-script-module-step":
144 [
145 {
146 "@type-id":"custom.MyCustomChunkScriptModuleStep",
147 "@supports-parallel-execution":"false",
148 "@supports-site-context":"true",
149 "@supports-organization-context":"false",
150 "description":"My custom chunk script step type",
151 "module":"my_cartridge/cartridge/scripts/steps/myModule.ds",
152 "before-step-function":"beforeStep",
153 "total-count-function":"getTotalCount",
154 "before-chunk-function":"beforeChunk",
155 "read-function":"read",
156 "process-function":"process",
157 "write-function":"write",
158 "after-chunk-function":"afterChunk",
159 "after-step-function":"afterStep",
160 "chunk-size":10,
161 "transactional":"true",
162 "parameters":
163 {
164 "parameter":
165 [
166 {
167 "@name":"MyParameter",
168 "@type":"boolean",
169 "@required":"false"
170 }
171 ]
172 },
173 "status-codes":
174 {
175 "status":
176 [
177 {
178 "@code": "ERROR",
179 "description": "Used when the step failed with an error."
180 },
181 {
182 "@code": "OK",
183 "description": "Used when the step finished successfully."
184 }
185 ]
186 }
187 }
188 ]
189 }
190}