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.
- package/.coverage-comment-template.svelte +177 -161
- package/.github/ISSUE_TEMPLATE/bug.yml +1 -0
- package/.github/dependabot.yml +8 -0
- package/.github/workflows/coverage-base-update.yml +6 -2
- package/.github/workflows/coverage-develop-branch.yml +7 -6
- package/.github/workflows/coverage-main-branch.yml +7 -6
- package/.github/workflows/coverage.yml +7 -2
- package/.husky/post-checkout +3 -2
- package/docs/dist/documentation.md +162 -47
- package/lib/Deployer.js +3 -3
- package/lib/cli.js +28 -0
- package/lib/index.js +173 -2
- package/lib/metadataTypes/Automation.js +400 -193
- package/lib/metadataTypes/DataExtension.js +5 -5
- package/lib/metadataTypes/MetadataType.js +42 -15
- package/lib/metadataTypes/Query.js +26 -0
- package/lib/metadataTypes/definitions/Asset.definition.js +1 -0
- package/lib/metadataTypes/definitions/Automation.definition.js +52 -6
- package/lib/metadataTypes/definitions/DataExtension.definition.js +1 -0
- package/lib/metadataTypes/definitions/DataExtract.definition.js +1 -0
- package/lib/metadataTypes/definitions/EmailSend.definition.js +1 -0
- package/lib/metadataTypes/definitions/Event.definition.js +1 -0
- package/lib/metadataTypes/definitions/Filter.definition.js +1 -0
- package/lib/metadataTypes/definitions/ImportFile.definition.js +1 -0
- package/lib/metadataTypes/definitions/MobileKeyword.definition.js +1 -0
- package/lib/metadataTypes/definitions/Query.definition.js +1 -0
- package/lib/metadataTypes/definitions/Role.definition.js +1 -0
- package/lib/metadataTypes/definitions/TriggeredSend.definition.js +1 -0
- package/lib/metadataTypes/definitions/User.definition.js +1 -0
- package/lib/util/devops.js +13 -11
- package/lib/util/util.js +152 -129
- package/package.json +5 -5
- package/test/general.test.js +26 -0
- package/test/mockRoot/.mcdevrc.json +1 -1
- package/test/mockRoot/deploy/testInstance/testBU/automation/testExisting_automation.automation-meta.json +53 -0
- package/test/mockRoot/deploy/testInstance/testBU/automation/testNew_automation.automation-meta.json +46 -0
- package/test/mockRoot/deploy/testInstance/testBU/query/{testExistingQuery.query-meta.json → testExisting_query.query-meta.json} +2 -2
- package/test/mockRoot/deploy/testInstance/testBU/query/{testNewQuery.query-meta.json → testNew_query.query-meta.json} +2 -2
- package/test/resourceFactory.js +64 -21
- package/test/resources/9999999/automation/build-expected.json +58 -0
- package/test/resources/9999999/automation/create-expected.json +46 -0
- package/test/resources/9999999/automation/create-testNew_automation-expected.md +28 -0
- package/test/resources/9999999/automation/delete-response.xml +40 -0
- package/test/resources/9999999/automation/retrieve-expected.json +58 -0
- package/test/resources/9999999/automation/retrieve-testExisting_automation-expected.md +30 -0
- package/test/resources/9999999/automation/template-expected.json +58 -0
- package/test/resources/9999999/automation/update-expected.json +46 -0
- package/test/resources/9999999/automation/update-testExisting_automation-expected.md +28 -0
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-1f7f8788c560/patch-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/a8afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/post-response.json +85 -0
- package/test/resources/9999999/automation/v1/dataextracts/56c5370a-f988-4f36-b0ee-0f876573f6d7/get-response.json +38 -0
- package/test/resources/9999999/automation/v1/dataextracts/get-response.json +20 -0
- package/test/resources/9999999/automation/v1/filetransfers/72c328ac-f5b0-4e37-91d3-a775666f15a6/get-response.json +18 -0
- package/test/resources/9999999/automation/v1/filetransfers/get-response.json +15 -0
- package/test/resources/9999999/automation/v1/imports/get-response.json +38 -0
- package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/actions/start/post-response.txt +1 -0
- package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json +2 -2
- package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/patch-response.json +2 -2
- package/test/resources/9999999/automation/v1/queries/get-response.json +4 -4
- package/test/resources/9999999/automation/v1/queries/post-response.json +2 -2
- package/test/resources/9999999/automation/v1/scripts/get-response.json +17 -0
- package/test/resources/9999999/dataFolder/retrieve-ContentType=automations-response.xml +48 -0
- package/test/resources/9999999/dataFolder/retrieve-ContentType=queryactivity-response.xml +48 -0
- package/test/resources/9999999/dataFolder/retrieve-response.xml +22 -0
- package/test/resources/9999999/emailSendDefinition/retrieve-response.xml +85 -0
- package/test/resources/9999999/legacy/v1/beta/automations/notifications/RkpOcE9qSVh2VUdnYTVJbWFfWW14dzoyNTow/get-response.json +21 -0
- package/test/resources/9999999/legacy/v1/beta/automations/notifications/RkpOcE9qSVh2VUdnYTVJbWFfWW14dzoyNTow/post-response.json +0 -0
- package/test/resources/9999999/legacy/v1/beta/bulk/automations/automation/definition/get-response.json +30 -0
- package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation-response.xml +30 -0
- package/test/resources/9999999/program/retrieve-CustomerKey=testNew_automation-response.xml +30 -0
- package/test/resources/9999999/program/retrieve-Name=testExisting_automation-response.xml +31 -0
- package/test/resources/9999999/program/retrieve-response.xml +32 -0
- package/test/resources/9999999/query/build-expected.json +2 -2
- package/test/resources/9999999/query/get-expected.json +2 -2
- package/test/resources/9999999/query/get2-expected.json +2 -2
- package/test/resources/9999999/query/patch-expected.json +2 -2
- package/test/resources/9999999/query/post-expected.json +2 -2
- package/test/resources/9999999/query/template-expected.json +2 -2
- package/test/type.automation.test.js +259 -0
- package/test/type.dataExtension.test.js +3 -0
- package/test/type.query.test.js +39 -26
- package/test/type.user.test.js +17 -3
- package/test/utils.js +7 -6
- package/.coverage-comment-template.md +0 -20
- /package/test/mockRoot/deploy/testInstance/testBU/query/{testExistingQuery.query-meta.sql → testExisting_query.query-meta.sql} +0 -0
- /package/test/mockRoot/deploy/testInstance/testBU/query/{testNewQuery.query-meta.sql → testNew_query.query-meta.sql} +0 -0
package/test/resourceFactory.js
CHANGED
|
@@ -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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
|
|
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 ${
|
|
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
|
|
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
|
+
}
|