mcdev 5.0.2 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/.coverage-comment-template.svelte +177 -161
  2. package/.github/ISSUE_TEMPLATE/bug.yml +1 -0
  3. package/.github/dependabot.yml +8 -0
  4. package/.github/workflows/coverage-base-update.yml +6 -2
  5. package/.github/workflows/coverage-develop-branch.yml +7 -6
  6. package/.github/workflows/coverage-main-branch.yml +7 -6
  7. package/.github/workflows/coverage.yml +7 -2
  8. package/.husky/post-checkout +3 -2
  9. package/docs/dist/documentation.md +162 -47
  10. package/lib/Deployer.js +3 -3
  11. package/lib/cli.js +28 -0
  12. package/lib/index.js +173 -2
  13. package/lib/metadataTypes/Automation.js +400 -193
  14. package/lib/metadataTypes/DataExtension.js +5 -5
  15. package/lib/metadataTypes/MetadataType.js +42 -15
  16. package/lib/metadataTypes/Query.js +26 -0
  17. package/lib/metadataTypes/definitions/Asset.definition.js +1 -0
  18. package/lib/metadataTypes/definitions/Automation.definition.js +52 -6
  19. package/lib/metadataTypes/definitions/DataExtension.definition.js +1 -0
  20. package/lib/metadataTypes/definitions/DataExtract.definition.js +1 -0
  21. package/lib/metadataTypes/definitions/EmailSend.definition.js +1 -0
  22. package/lib/metadataTypes/definitions/Event.definition.js +1 -0
  23. package/lib/metadataTypes/definitions/Filter.definition.js +1 -0
  24. package/lib/metadataTypes/definitions/ImportFile.definition.js +1 -0
  25. package/lib/metadataTypes/definitions/MobileKeyword.definition.js +1 -0
  26. package/lib/metadataTypes/definitions/Query.definition.js +1 -0
  27. package/lib/metadataTypes/definitions/Role.definition.js +1 -0
  28. package/lib/metadataTypes/definitions/TriggeredSend.definition.js +1 -0
  29. package/lib/metadataTypes/definitions/User.definition.js +1 -0
  30. package/lib/util/devops.js +13 -11
  31. package/lib/util/util.js +152 -129
  32. package/package.json +5 -5
  33. package/test/general.test.js +26 -0
  34. package/test/mockRoot/.mcdevrc.json +1 -1
  35. package/test/mockRoot/deploy/testInstance/testBU/automation/testExisting_automation.automation-meta.json +53 -0
  36. package/test/mockRoot/deploy/testInstance/testBU/automation/testNew_automation.automation-meta.json +46 -0
  37. package/test/mockRoot/deploy/testInstance/testBU/query/{testExistingQuery.query-meta.json → testExisting_query.query-meta.json} +2 -2
  38. package/test/mockRoot/deploy/testInstance/testBU/query/{testNewQuery.query-meta.json → testNew_query.query-meta.json} +2 -2
  39. package/test/resourceFactory.js +64 -21
  40. package/test/resources/9999999/automation/build-expected.json +58 -0
  41. package/test/resources/9999999/automation/create-expected.json +46 -0
  42. package/test/resources/9999999/automation/create-testNew_automation-expected.md +28 -0
  43. package/test/resources/9999999/automation/delete-response.xml +40 -0
  44. package/test/resources/9999999/automation/retrieve-expected.json +58 -0
  45. package/test/resources/9999999/automation/retrieve-testExisting_automation-expected.md +30 -0
  46. package/test/resources/9999999/automation/template-expected.json +58 -0
  47. package/test/resources/9999999/automation/update-expected.json +46 -0
  48. package/test/resources/9999999/automation/update-testExisting_automation-expected.md +28 -0
  49. package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +85 -0
  50. package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-1f7f8788c560/patch-response.json +85 -0
  51. package/test/resources/9999999/automation/v1/automations/a8afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +85 -0
  52. package/test/resources/9999999/automation/v1/automations/post-response.json +85 -0
  53. package/test/resources/9999999/automation/v1/dataextracts/56c5370a-f988-4f36-b0ee-0f876573f6d7/get-response.json +38 -0
  54. package/test/resources/9999999/automation/v1/dataextracts/get-response.json +20 -0
  55. package/test/resources/9999999/automation/v1/filetransfers/72c328ac-f5b0-4e37-91d3-a775666f15a6/get-response.json +18 -0
  56. package/test/resources/9999999/automation/v1/filetransfers/get-response.json +15 -0
  57. package/test/resources/9999999/automation/v1/imports/get-response.json +38 -0
  58. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/actions/start/post-response.txt +1 -0
  59. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json +2 -2
  60. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/patch-response.json +2 -2
  61. package/test/resources/9999999/automation/v1/queries/get-response.json +4 -4
  62. package/test/resources/9999999/automation/v1/queries/post-response.json +2 -2
  63. package/test/resources/9999999/automation/v1/scripts/get-response.json +17 -0
  64. package/test/resources/9999999/dataFolder/retrieve-ContentType=automations-response.xml +48 -0
  65. package/test/resources/9999999/dataFolder/retrieve-ContentType=queryactivity-response.xml +48 -0
  66. package/test/resources/9999999/dataFolder/retrieve-response.xml +22 -0
  67. package/test/resources/9999999/emailSendDefinition/retrieve-response.xml +85 -0
  68. package/test/resources/9999999/legacy/v1/beta/automations/notifications/RkpOcE9qSVh2VUdnYTVJbWFfWW14dzoyNTow/get-response.json +21 -0
  69. package/test/resources/9999999/legacy/v1/beta/automations/notifications/RkpOcE9qSVh2VUdnYTVJbWFfWW14dzoyNTow/post-response.json +0 -0
  70. package/test/resources/9999999/legacy/v1/beta/bulk/automations/automation/definition/get-response.json +30 -0
  71. package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation-response.xml +30 -0
  72. package/test/resources/9999999/program/retrieve-CustomerKey=testNew_automation-response.xml +30 -0
  73. package/test/resources/9999999/program/retrieve-Name=testExisting_automation-response.xml +31 -0
  74. package/test/resources/9999999/program/retrieve-response.xml +32 -0
  75. package/test/resources/9999999/query/build-expected.json +2 -2
  76. package/test/resources/9999999/query/get-expected.json +2 -2
  77. package/test/resources/9999999/query/get2-expected.json +2 -2
  78. package/test/resources/9999999/query/patch-expected.json +2 -2
  79. package/test/resources/9999999/query/post-expected.json +2 -2
  80. package/test/resources/9999999/query/template-expected.json +2 -2
  81. package/test/type.automation.test.js +259 -0
  82. package/test/type.dataExtension.test.js +3 -0
  83. package/test/type.query.test.js +39 -26
  84. package/test/type.user.test.js +17 -3
  85. package/test/utils.js +7 -6
  86. package/.coverage-comment-template.md +0 -20
  87. /package/test/mockRoot/deploy/testInstance/testBU/query/{testExistingQuery.query-meta.sql → testExisting_query.query-meta.sql} +0 -0
  88. /package/test/mockRoot/deploy/testInstance/testBU/query/{testNewQuery.query-meta.sql → testNew_query.query-meta.sql} +0 -0
@@ -10,33 +10,55 @@ const attributeParser = new XMLParser({ ignoreAttributes: false });
10
10
  * @param {string} mcdevAction SOAP action
11
11
  * @param {string} type metadata Type
12
12
  * @param {string} mid of Business Unit
13
+ * @param {object} filter likely for customer key
13
14
  * @returns {string} relevant metadata stringified
14
15
  */
15
- exports.loadSOAPRecords = async (mcdevAction, type, mid) => {
16
+ exports.loadSOAPRecords = async (mcdevAction, type, mid, filter) => {
16
17
  type = type[0].toLowerCase() + type.slice(1);
17
- const testPath = path.join(
18
- 'test',
19
- 'resources',
20
- mid.toString(),
21
- type,
22
- mcdevAction + '-response.xml'
23
- );
24
- if (await fs.pathExists(testPath)) {
25
- return fs.readFile(testPath, {
18
+ const testPath = path.join('test', 'resources', mid.toString(), type, mcdevAction);
19
+ const filterPath = this.filterToPath(filter);
20
+ if (await fs.pathExists(testPath + filterPath + '-response.xml')) {
21
+ return fs.readFile(testPath + filterPath + '-response.xml', {
22
+ encoding: 'utf8',
23
+ });
24
+ } else if (await fs.pathExists(testPath + '-response.xml')) {
25
+ if (filterPath) {
26
+ /* eslint-disable no-console */
27
+ console.log(
28
+ `${color.bgYellow}${color.fgBlack}test-warning${
29
+ color.reset
30
+ }: You are loading your reponse from ${
31
+ testPath + '-response.xml'
32
+ } instead of the more specific ${
33
+ testPath + filterPath + '-response.xml'
34
+ }. Make sure this is intended`
35
+ );
36
+ /* eslint-enable no-console */
37
+ }
38
+ return fs.readFile(testPath + '-response.xml', {
26
39
  encoding: 'utf8',
27
40
  });
28
41
  }
29
42
  /* eslint-disable no-console */
30
43
  console.log(
31
- `${color.bgRed}${color.fgBlack}test-error${color.reset}: Please create file ${testPath}`
44
+ `${color.bgRed}${color.fgBlack}test-error${color.reset}: Please create file ${
45
+ testPath + filterPath + '-response.xml'
46
+ } or ${testPath + '-response.xml'}`
32
47
  );
33
48
  /* eslint-enable no-console */
34
- process.exitCode = 404;
35
49
 
50
+ // return error
51
+ process.exitCode = 404;
36
52
  return fs.readFile(path.join('test', 'resources', mcdevAction + '-response.xml'), {
37
53
  encoding: 'utf8',
38
54
  });
39
55
  };
56
+ exports.filterToPath = (filter) => {
57
+ if (filter && filter.Property && filter.SimpleOperator && filter.Value) {
58
+ return `-${filter.Property}${filter.SimpleOperator.replace('equals', '=')}${filter.Value}`;
59
+ }
60
+ return '';
61
+ };
40
62
  /**
41
63
  * based on request, respond with different soap data
42
64
  *
@@ -53,7 +75,8 @@ exports.handleSOAPRequest = async (config) => {
53
75
  responseXML = await this.loadSOAPRecords(
54
76
  config.headers.SOAPAction.toLocaleLowerCase(),
55
77
  jObj.Envelope.Body.RetrieveRequestMsg.RetrieveRequest.ObjectType,
56
- jObj.Envelope.Header.fueloauth
78
+ jObj.Envelope.Header.fueloauth,
79
+ jObj.Envelope.Body.RetrieveRequestMsg.RetrieveRequest.Filter
57
80
  );
58
81
 
59
82
  break;
@@ -62,7 +85,8 @@ exports.handleSOAPRequest = async (config) => {
62
85
  responseXML = await this.loadSOAPRecords(
63
86
  config.headers.SOAPAction.toLocaleLowerCase(),
64
87
  fullObj.Envelope.Body.CreateRequest.Objects['@_xsi:type'],
65
- jObj.Envelope.Header.fueloauth
88
+ jObj.Envelope.Header.fueloauth,
89
+ null
66
90
  );
67
91
 
68
92
  break;
@@ -71,7 +95,8 @@ exports.handleSOAPRequest = async (config) => {
71
95
  responseXML = await this.loadSOAPRecords(
72
96
  config.headers.SOAPAction.toLocaleLowerCase(),
73
97
  fullObj.Envelope.Body.UpdateRequest.Objects['@_xsi:type'],
74
- jObj.Envelope.Header.fueloauth
98
+ jObj.Envelope.Header.fueloauth,
99
+ null
75
100
  );
76
101
 
77
102
  break;
@@ -82,7 +107,18 @@ exports.handleSOAPRequest = async (config) => {
82
107
  fullObj.Envelope.Body.ConfigureRequestMsg.Configurations.Configuration[0][
83
108
  '@_xsi:type'
84
109
  ],
85
- jObj.Envelope.Header.fueloauth
110
+ jObj.Envelope.Header.fueloauth,
111
+ null
112
+ );
113
+
114
+ break;
115
+ }
116
+ case 'Delete': {
117
+ responseXML = await this.loadSOAPRecords(
118
+ config.headers.SOAPAction.toLocaleLowerCase(),
119
+ fullObj.Envelope.Body.DeleteRequest.Objects['@_xsi:type'],
120
+ jObj.Envelope.Header.fueloauth,
121
+ null
86
122
  );
87
123
 
88
124
  break;
@@ -121,15 +157,15 @@ exports.handleRESTRequest = async (config) => {
121
157
  'resources',
122
158
  config.headers.Authorization.replace('Bearer ', ''),
123
159
  urlObj.pathname,
124
- config.method + '-response.json'
160
+ config.method + '-response'
125
161
  )
126
162
  .replace(':', '_'); // replace : with _ for Windows
127
163
 
128
- if (await fs.pathExists(testPath)) {
164
+ if (await fs.pathExists(testPath + '.json')) {
129
165
  // build filter logic to ensure templating works
130
166
  if (filterName) {
131
167
  const response = JSON.parse(
132
- await fs.readFile(testPath, {
168
+ await fs.readFile(testPath + '.json', {
133
169
  encoding: 'utf8',
134
170
  })
135
171
  );
@@ -139,15 +175,22 @@ exports.handleRESTRequest = async (config) => {
139
175
  } else {
140
176
  return [
141
177
  200,
142
- await fs.readFile(testPath, {
178
+ await fs.readFile(testPath + '.json', {
143
179
  encoding: 'utf8',
144
180
  }),
145
181
  ];
146
182
  }
183
+ } else if (await fs.pathExists(testPath + '.txt')) {
184
+ return [
185
+ 200,
186
+ await fs.readFile(testPath + '.txt', {
187
+ encoding: 'utf8',
188
+ }),
189
+ ];
147
190
  } else {
148
191
  /* eslint-disable no-console */
149
192
  console.log(
150
- `${color.bgRed}${color.fgBlack}test-error${color.reset}: Please create file ${testPath}`
193
+ `${color.bgRed}${color.fgBlack}test-error${color.reset}: Please create file ${testPath}.json/.txt`
151
194
  );
152
195
  /* eslint-enable no-console */
153
196
  process.exitCode = 404;
@@ -0,0 +1,58 @@
1
+ {
2
+ "description": "foobar",
3
+ "key": "testTemplated_automation",
4
+ "name": "testTemplated_automation",
5
+ "r__folder_Path": "my automations",
6
+ "schedule": {
7
+ "endDate": "2022-07-30T00:00:00",
8
+ "icalRecur": "FREQ=DAILY;COUNT=1;INTERVAL=1",
9
+ "startDate": "2022-07-30T00:00:00",
10
+ "timezoneName": "W. Europe Standard Time",
11
+ "typeId": 3
12
+ },
13
+ "status": "PausedSchedule",
14
+ "steps": [
15
+ {
16
+ "activities": [
17
+ {
18
+ "name": "testTemplated_dataExtract",
19
+ "r__type": "dataExtract"
20
+ },
21
+ {
22
+ "name": "testTemplated_emailSend",
23
+ "r__type": "emailSend"
24
+ },
25
+ {
26
+ "name": "testTemplated_fileTransfer",
27
+ "r__type": "fileTransfer"
28
+ },
29
+ {
30
+ "name": "testTemplated_importFile",
31
+ "r__type": "importFile"
32
+ },
33
+ {
34
+ "name": "testTemplated_query",
35
+ "r__type": "query"
36
+ },
37
+ {
38
+ "name": "testTemplated_script",
39
+ "r__type": "script"
40
+ }
41
+ ],
42
+ "name": ""
43
+ }
44
+ ],
45
+ "type": "scheduled",
46
+ "notifications": [
47
+ {
48
+ "email": ["complete@test.accenture.com"],
49
+ "message": "",
50
+ "type": "Complete"
51
+ },
52
+ {
53
+ "email": ["error@test.accenture.com"],
54
+ "message": "test",
55
+ "type": "Error"
56
+ }
57
+ ]
58
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "description": "created on deploy",
3
+ "key": "testNew_automation",
4
+ "name": "testNew_automation",
5
+ "r__folder_Path": "my automations",
6
+ "schedule": {
7
+ "endDate": "2022-07-30T00:00:00",
8
+ "icalRecur": "FREQ=DAILY;COUNT=1;INTERVAL=1",
9
+ "startDate": "2022-07-30T00:00:00",
10
+ "timezoneName": "W. Europe Standard Time",
11
+ "typeId": 3
12
+ },
13
+ "status": "PausedSchedule",
14
+ "steps": [
15
+ {
16
+ "activities": [
17
+ {
18
+ "name": "testExisting_dataExtract",
19
+ "r__type": "dataExtract"
20
+ },
21
+ {
22
+ "name": "testExisting_emailSend",
23
+ "r__type": "emailSend"
24
+ },
25
+ {
26
+ "name": "testExisting_fileTransfer",
27
+ "r__type": "fileTransfer"
28
+ },
29
+ {
30
+ "name": "testExisting_importFile",
31
+ "r__type": "importFile"
32
+ },
33
+ {
34
+ "name": "testExisting_query",
35
+ "r__type": "query"
36
+ },
37
+ {
38
+ "name": "testExisting_script",
39
+ "r__type": "script"
40
+ }
41
+ ],
42
+ "name": ""
43
+ }
44
+ ],
45
+ "type": "scheduled"
46
+ }
@@ -0,0 +1,28 @@
1
+ ## testNew_automation
2
+
3
+ **Description:** created on deploy
4
+
5
+ **Folder:** my automations/
6
+
7
+ **Started by:** Schedule
8
+
9
+ **Status:** PausedSchedule
10
+
11
+ **Schedule:**
12
+
13
+ * Start: 2022-07-30 00:00:00 +01:00
14
+ * End: 2022-07-30 00:00:00 +01:00
15
+ * Timezone: W. Europe Standard Time
16
+ * Recurrance: every day for 1 times
17
+
18
+ **Notifications:** _none_
19
+
20
+
21
+ | Step 1<br>_<small>-</small>_ |
22
+ | --- |
23
+ | _1.1: dataExtract_<br>testExisting_dataExtract |
24
+ | _1.2: emailSend_<br>testExisting_emailSend |
25
+ | _1.3: fileTransfer_<br>testExisting_fileTransfer |
26
+ | _1.4: importFile_<br>testExisting_importFile |
27
+ | _1.5: query_<br>testExisting_query |
28
+ | _1.6: script_<br>testExisting_script |
@@ -0,0 +1,40 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5
+ xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
6
+ xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
7
+ xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
8
+ <soap:Header>
9
+ <wsa:Action>DeleteResponse</wsa:Action>
10
+ <wsa:MessageID>urn:uuid:cc45bb83-15a3-4a82-ba48-47ac4fb13000</wsa:MessageID>
11
+ <wsa:RelatesTo>urn:uuid:29986848-a0c3-4f3b-bf5a-91151f784449</wsa:RelatesTo>
12
+ <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
13
+ <wsse:Security>
14
+ <wsu:Timestamp wsu:Id="Timestamp-4e8dad58-7a68-4653-8406-a172d1960c8a">
15
+ <wsu:Created>2023-06-02T13:41:30Z</wsu:Created>
16
+ <wsu:Expires>2023-06-02T13:46:30Z</wsu:Expires>
17
+ </wsu:Timestamp>
18
+ </wsse:Security>
19
+ </soap:Header>
20
+ <soap:Body>
21
+ <DeleteResponse xmlns="http://exacttarget.com/wsdl/partnerAPI">
22
+ <Results>
23
+ <StatusCode>OK</StatusCode>
24
+ <StatusMessage>Program deleted</StatusMessage>
25
+ <OrdinalID>0</OrdinalID>
26
+ <Object xsi:type="Automation">
27
+ <PartnerKey xsi:nil="true" />
28
+ <ObjectID>08afb0e2-b00a-4c88-ad2e-1f7f8788c560</ObjectID>
29
+ <CustomerKey>testExisting_automation</CustomerKey>
30
+ <IsPlatformObject>false</IsPlatformObject>
31
+ <Name />
32
+ <Description />
33
+ <IsActive>true</IsActive>
34
+ </Object>
35
+ </Results>
36
+ <RequestID>898702fc-a432-4176-8130-5d6dd5ad9ca6</RequestID>
37
+ <OverallStatus>OK</OverallStatus>
38
+ </DeleteResponse>
39
+ </soap:Body>
40
+ </soap:Envelope>
@@ -0,0 +1,58 @@
1
+ {
2
+ "description": "bla bla",
3
+ "key": "testExisting_automation",
4
+ "name": "testExisting_automation",
5
+ "r__folder_Path": "my automations",
6
+ "schedule": {
7
+ "endDate": "2022-07-30T00:00:00",
8
+ "icalRecur": "FREQ=DAILY;COUNT=1;INTERVAL=1",
9
+ "startDate": "2022-07-30T00:00:00",
10
+ "timezoneName": "W. Europe Standard Time",
11
+ "typeId": 3
12
+ },
13
+ "status": "PausedSchedule",
14
+ "steps": [
15
+ {
16
+ "activities": [
17
+ {
18
+ "name": "testExisting_dataExtract",
19
+ "r__type": "dataExtract"
20
+ },
21
+ {
22
+ "name": "testExisting_emailSend",
23
+ "r__type": "emailSend"
24
+ },
25
+ {
26
+ "name": "testExisting_fileTransfer",
27
+ "r__type": "fileTransfer"
28
+ },
29
+ {
30
+ "name": "testExisting_importFile",
31
+ "r__type": "importFile"
32
+ },
33
+ {
34
+ "name": "testExisting_query",
35
+ "r__type": "query"
36
+ },
37
+ {
38
+ "name": "testExisting_script",
39
+ "r__type": "script"
40
+ }
41
+ ],
42
+ "name": ""
43
+ }
44
+ ],
45
+ "type": "scheduled",
46
+ "notifications": [
47
+ {
48
+ "email": ["complete@test.accenture.com"],
49
+ "message": "",
50
+ "type": "Complete"
51
+ },
52
+ {
53
+ "email": ["error@test.accenture.com"],
54
+ "message": "test",
55
+ "type": "Error"
56
+ }
57
+ ]
58
+ }
@@ -0,0 +1,30 @@
1
+ ## testExisting_automation
2
+
3
+ **Description:** bla bla
4
+
5
+ **Folder:** my automations/
6
+
7
+ **Started by:** Schedule
8
+
9
+ **Status:** PausedSchedule
10
+
11
+ **Schedule:**
12
+
13
+ * Start: 2022-07-30 00:00:00 +01:00
14
+ * End: 2022-07-30 00:00:00 +01:00
15
+ * Timezone: W. Europe Standard Time
16
+ * Recurrance: every day for 1 times
17
+
18
+ **Notifications:**
19
+
20
+ * Complete: complete@test.accenture.com
21
+ * Error: error@test.accenture.com ("test")
22
+
23
+ | Step 1<br>_<small>-</small>_ |
24
+ | --- |
25
+ | _1.1: dataExtract_<br>testExisting_dataExtract |
26
+ | _1.2: emailSend_<br>testExisting_emailSend |
27
+ | _1.3: fileTransfer_<br>testExisting_fileTransfer |
28
+ | _1.4: importFile_<br>testExisting_importFile |
29
+ | _1.5: query_<br>testExisting_query |
30
+ | _1.6: script_<br>testExisting_script |
@@ -0,0 +1,58 @@
1
+ {
2
+ "description": "{{{description}}}",
3
+ "key": "{{{prefix}}}automation",
4
+ "name": "{{{prefix}}}automation",
5
+ "r__folder_Path": "my automations",
6
+ "schedule": {
7
+ "endDate": "2022-07-30T00:00:00",
8
+ "icalRecur": "FREQ=DAILY;COUNT=1;INTERVAL=1",
9
+ "startDate": "2022-07-30T00:00:00",
10
+ "timezoneName": "W. Europe Standard Time",
11
+ "typeId": 3
12
+ },
13
+ "status": "PausedSchedule",
14
+ "steps": [
15
+ {
16
+ "activities": [
17
+ {
18
+ "name": "{{{prefix}}}dataExtract",
19
+ "r__type": "dataExtract"
20
+ },
21
+ {
22
+ "name": "{{{prefix}}}emailSend",
23
+ "r__type": "emailSend"
24
+ },
25
+ {
26
+ "name": "{{{prefix}}}fileTransfer",
27
+ "r__type": "fileTransfer"
28
+ },
29
+ {
30
+ "name": "{{{prefix}}}importFile",
31
+ "r__type": "importFile"
32
+ },
33
+ {
34
+ "name": "{{{prefix}}}query",
35
+ "r__type": "query"
36
+ },
37
+ {
38
+ "name": "{{{prefix}}}script",
39
+ "r__type": "script"
40
+ }
41
+ ],
42
+ "name": ""
43
+ }
44
+ ],
45
+ "type": "scheduled",
46
+ "notifications": [
47
+ {
48
+ "email": ["complete@test.accenture.com"],
49
+ "message": "",
50
+ "type": "Complete"
51
+ },
52
+ {
53
+ "email": ["error@test.accenture.com"],
54
+ "message": "test",
55
+ "type": "Error"
56
+ }
57
+ ]
58
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "description": "updated on deploy",
3
+ "key": "testExisting_automation",
4
+ "name": "testExisting_automation",
5
+ "r__folder_Path": "my automations",
6
+ "schedule": {
7
+ "endDate": "2022-07-30T00:00:00",
8
+ "icalRecur": "FREQ=DAILY;COUNT=1;INTERVAL=1",
9
+ "startDate": "2022-07-30T00:00:00",
10
+ "timezoneName": "W. Europe Standard Time",
11
+ "typeId": 3
12
+ },
13
+ "status": "PausedSchedule",
14
+ "steps": [
15
+ {
16
+ "activities": [
17
+ {
18
+ "name": "testExisting_dataExtract",
19
+ "r__type": "dataExtract"
20
+ },
21
+ {
22
+ "name": "testExisting_emailSend",
23
+ "r__type": "emailSend"
24
+ },
25
+ {
26
+ "name": "testExisting_fileTransfer",
27
+ "r__type": "fileTransfer"
28
+ },
29
+ {
30
+ "name": "testExisting_importFile",
31
+ "r__type": "importFile"
32
+ },
33
+ {
34
+ "name": "testExisting_query",
35
+ "r__type": "query"
36
+ },
37
+ {
38
+ "name": "testExisting_script",
39
+ "r__type": "script"
40
+ }
41
+ ],
42
+ "name": ""
43
+ }
44
+ ],
45
+ "type": "scheduled"
46
+ }
@@ -0,0 +1,28 @@
1
+ ## testExisting_automation
2
+
3
+ **Description:** updated on deploy
4
+
5
+ **Folder:** my automations/
6
+
7
+ **Started by:** Schedule
8
+
9
+ **Status:** PausedSchedule
10
+
11
+ **Schedule:**
12
+
13
+ * Start: 2022-07-30 00:00:00 +01:00
14
+ * End: 2022-07-30 00:00:00 +01:00
15
+ * Timezone: W. Europe Standard Time
16
+ * Recurrance: every day for 1 times
17
+
18
+ **Notifications:** _none_
19
+
20
+
21
+ | Step 1<br>_<small>-</small>_ |
22
+ | --- |
23
+ | _1.1: dataExtract_<br>testExisting_dataExtract |
24
+ | _1.2: emailSend_<br>testExisting_emailSend |
25
+ | _1.3: fileTransfer_<br>testExisting_fileTransfer |
26
+ | _1.4: importFile_<br>testExisting_importFile |
27
+ | _1.5: query_<br>testExisting_query |
28
+ | _1.6: script_<br>testExisting_script |
@@ -0,0 +1,85 @@
1
+ {
2
+ "id": "08afb0e2-b00a-4c88-ad2e-1f7f8788c560",
3
+ "name": "testExisting_automation",
4
+ "description": "bla bla",
5
+ "key": "testExisting_automation",
6
+ "typeId": 1,
7
+ "type": "scheduled",
8
+ "statusId": 4,
9
+ "status": "PausedSchedule",
10
+ "categoryId": 290937,
11
+ "schedule": {
12
+ "id": "b393aa6c-a4a8-4c0f-a148-9250258a7339",
13
+ "typeId": 3,
14
+ "startDate": "2022-07-30T00:00:00",
15
+ "endDate": "2022-07-30T00:00:00",
16
+ "scheduledTime": "0001-01-01T07:00:00",
17
+ "rangeTypeId": 0,
18
+ "occurrences": 1,
19
+ "pattern": "<Pattern><PatternType>0</PatternType><DayInterval>1</DayInterval></Pattern>",
20
+ "icalRecur": "FREQ=DAILY;COUNT=1;INTERVAL=1",
21
+ "timezoneName": "W. Europe Standard Time",
22
+ "scheduleStatus": "paused",
23
+ "timezoneId": 5
24
+ },
25
+ "steps": [
26
+ {
27
+ "id": "13fda077-0e82-4936-b936-a36b0997fc44",
28
+ "name": "",
29
+ "step": 1,
30
+ "activities": [
31
+ {
32
+ "id": "8081a992-a27d-4a43-984a-d60114ea1025",
33
+ "name": "testExisting_dataExtract",
34
+ "activityObjectId": "56c5370a-f988-4f36-b0ee-0f876573f6d7",
35
+ "objectTypeId": 73,
36
+ "displayOrder": 1
37
+ },
38
+ {
39
+ "id": "d3774dc2-a271-4a44-8cbe-f630a6d6545e",
40
+ "name": "testExisting_emailSend",
41
+ "activityObjectId": "9b1c7bf9-4964-ed11-b849-48df37d1de8b",
42
+ "objectTypeId": 42,
43
+ "displayOrder": 2
44
+ },
45
+ {
46
+ "id": "2c77fc42-85eb-4611-98f9-223d29d89d72",
47
+ "name": "testExisting_fileTransfer",
48
+ "activityObjectId": "72c328ac-f5b0-4e37-91d3-a775666f15a6",
49
+ "objectTypeId": 53,
50
+ "displayOrder": 3
51
+ },
52
+ {
53
+ "id": "298b2794-28cb-4c70-b7ad-58b2c8cf48f7",
54
+ "name": "testExisting_importFile",
55
+ "activityObjectId": "9d16f42c-2260-ed11-b849-48df37d1de8b",
56
+ "objectTypeId": 43,
57
+ "displayOrder": 4,
58
+ "targetDataExtensions": [
59
+ {
60
+ "id": "21711373-72c1-ec11-b83b-48df37d1deb7",
61
+ "name": "testExisting_dataExtension",
62
+ "key": "testExisting_dataExtension",
63
+ "description": "bla bla",
64
+ "rowCount": 0
65
+ }
66
+ ]
67
+ },
68
+ {
69
+ "id": "e3774dc2-a271-4a44-8cbe-f630a6d6545e",
70
+ "name": "testExisting_query_WRONG_NAME",
71
+ "activityObjectId": "549f0568-607c-4940-afef-437965094dat",
72
+ "objectTypeId": 300,
73
+ "displayOrder": 5
74
+ },
75
+ {
76
+ "id": "g3774dc2-a271-4a44-8cbe-f630a6d6545e",
77
+ "name": "testExisting_script",
78
+ "activityObjectId": "39f6a488-20eb-4ba0-b0b9-023725b574e4",
79
+ "objectTypeId": 423,
80
+ "displayOrder": 6
81
+ }
82
+ ]
83
+ }
84
+ ]
85
+ }