@itentialopensource/adapter-jira 2.0.1 → 2.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/AUTH.md +2 -8
- package/CALLS.md +1698 -2358
- package/CHANGELOG.md +8 -0
- package/CONTRIBUTING.md +1 -160
- package/ENHANCE.md +2 -2
- package/README.md +32 -23
- package/SYSTEMINFO.md +19 -4
- package/adapter.js +158 -329
- package/adapterBase.js +541 -877
- package/changelogs/changelog.md +122 -0
- package/metadata.json +94 -0
- package/package.json +25 -26
- package/pronghorn.json +470 -138
- package/propertiesSchema.json +422 -31
- package/refs?service=git-upload-pack +0 -0
- package/report/adapter-openapi.json +65406 -0
- package/report/adapter-openapi.yaml +66802 -0
- package/report/adapterInfo.json +8 -8
- package/report/updateReport1691511376916.json +120 -0
- package/report/updateReport1692202881338.json +120 -0
- package/report/updateReport1694464722118.json +120 -0
- package/sampleProperties.json +63 -2
- package/test/integration/adapterTestBasicGet.js +2 -4
- package/test/integration/adapterTestConnectivity.js +91 -42
- package/test/integration/adapterTestIntegration.js +131 -3
- package/test/unit/adapterBaseTestUnit.js +388 -313
- package/test/unit/adapterTestUnit.js +303 -112
- package/utils/adapterInfo.js +1 -1
- package/utils/addAuth.js +1 -1
- package/utils/artifactize.js +1 -1
- package/utils/checkMigrate.js +1 -1
- package/utils/entitiesToDB.js +2 -2
- package/utils/findPath.js +1 -1
- package/utils/methodDocumentor.js +57 -22
- package/utils/modify.js +13 -15
- package/utils/packModificationScript.js +1 -1
- package/utils/pre-commit.sh +1 -1
- package/utils/taskMover.js +309 -0
- package/utils/tbScript.js +89 -34
- package/utils/tbUtils.js +41 -21
- package/utils/testRunner.js +1 -1
- package/utils/troubleshootingAdapter.js +9 -6
- package/workflows/Jira Adapter Issue Workflow.json +0 -1
- package/workflows/Jira Adapter Project Workflow.json +0 -1
- package/workflows/README.md +0 -3
package/utils/tbScript.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
const program = require('commander');
|
|
11
11
|
const rls = require('readline-sync');
|
|
12
|
+
const prompts = require('prompts');
|
|
12
13
|
const utils = require('./tbUtils');
|
|
13
14
|
const basicGet = require('./basicGet');
|
|
14
15
|
const { name } = require('../package.json');
|
|
@@ -50,10 +51,81 @@ const executeInStandaloneMode = async (command) => {
|
|
|
50
51
|
process.exit(0);
|
|
51
52
|
};
|
|
52
53
|
|
|
54
|
+
const getAdapterInstanceConfig = async (command) => {
|
|
55
|
+
const instances = await utils.getAllAdapterInstances();
|
|
56
|
+
if (!instances || instances.length === 0) {
|
|
57
|
+
return console.log('None adapter instances found!');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
let instance;
|
|
61
|
+
if (instances.length === 1) {
|
|
62
|
+
[instance] = instances;
|
|
63
|
+
} else {
|
|
64
|
+
const choices = instances.map((item) => ({ title: item.name }));
|
|
65
|
+
const menu = {
|
|
66
|
+
type: 'select',
|
|
67
|
+
name: 'index',
|
|
68
|
+
message: `Pick an adapter for ${command} check`,
|
|
69
|
+
choices
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
console.log('\n');
|
|
73
|
+
const selected = await prompts(menu);
|
|
74
|
+
console.log('\n');
|
|
75
|
+
instance = instances[selected.index];
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (!instance) {
|
|
79
|
+
console.error('No adapter instance selected');
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const { serviceItem: adapterConfig } = await utils.getAdapterConfig(instance._id); /* eslint-disable-line no-underscore-dangle */
|
|
84
|
+
|
|
85
|
+
console.log('\nAdapter instance configuration =>');
|
|
86
|
+
console.log('======================================');
|
|
87
|
+
console.log(adapterConfig);
|
|
88
|
+
console.log('======================================');
|
|
89
|
+
|
|
90
|
+
return adapterConfig;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
const executeCommandOnInstance = async (command) => {
|
|
94
|
+
const adapterConfig = await getAdapterInstanceConfig(command);
|
|
95
|
+
if (!adapterConfig) {
|
|
96
|
+
process.exit(0);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
switch (command) {
|
|
100
|
+
case 'connectivity': {
|
|
101
|
+
const { host } = adapterConfig.properties.properties;
|
|
102
|
+
console.log(`perform networking diagnositics to ${host}`);
|
|
103
|
+
utils.runConnectivity(host, true);
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
case 'healthcheck': {
|
|
107
|
+
const adapterInstance = basicGet.getAdapterInstance(adapterConfig);
|
|
108
|
+
await utils.healthCheck(adapterInstance);
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
case 'basicget': {
|
|
112
|
+
utils.runBasicGet(true);
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
case 'troubleshoot': {
|
|
116
|
+
const adapter = { properties: adapterConfig };
|
|
117
|
+
await troubleshoot({}, true, true, adapter);
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
default: {
|
|
121
|
+
console.error(`Unknown command: ${command}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return process.exit(0);
|
|
125
|
+
};
|
|
126
|
+
|
|
53
127
|
const executeUnderIAPInstallationDirectory = async (command) => {
|
|
54
|
-
if (command ===
|
|
55
|
-
await troubleshoot({}, true, true);
|
|
56
|
-
} else if (command === 'install') {
|
|
128
|
+
if (command === 'install') {
|
|
57
129
|
const { database, serviceItem, pronghornProps } = await utils.getAdapterConfig();
|
|
58
130
|
const filter = { id: pronghornProps.id };
|
|
59
131
|
const profileItem = await database.collection(utils.IAP_PROFILES_COLLECTION).findOne(filter);
|
|
@@ -71,9 +143,7 @@ const executeUnderIAPInstallationDirectory = async (command) => {
|
|
|
71
143
|
const serviceIndex = profileItem.services.indexOf(serviceItem.name);
|
|
72
144
|
profileItem.services.splice(serviceIndex, 1);
|
|
73
145
|
const update = { $set: { services: profileItem.services } };
|
|
74
|
-
await database.collection(utils.IAP_PROFILES_COLLECTION).updateOne(
|
|
75
|
-
{ id: pronghornProps.id }, update
|
|
76
|
-
);
|
|
146
|
+
await database.collection(utils.IAP_PROFILES_COLLECTION).updateOne({ id: pronghornProps.id }, update);
|
|
77
147
|
console.log(`${serviceItem.name} removed from profileItem.services.`);
|
|
78
148
|
console.log(`Rerun the script to reinstall ${serviceItem.name}.`);
|
|
79
149
|
process.exit(0);
|
|
@@ -90,43 +160,20 @@ const executeUnderIAPInstallationDirectory = async (command) => {
|
|
|
90
160
|
utils.runTest();
|
|
91
161
|
if (rls.keyInYN(`Do you want to install ${name} to IAP?`)) {
|
|
92
162
|
console.log('Creating database entries...');
|
|
93
|
-
const adapter = utils.createAdapter(
|
|
94
|
-
pronghornProps, profileItem, sampleProperties, adapterPronghorn
|
|
95
|
-
);
|
|
96
|
-
|
|
163
|
+
const adapter = utils.createAdapter(pronghornProps, profileItem, sampleProperties, adapterPronghorn);
|
|
97
164
|
adapter.properties.properties = await addAuthInfo(adapter.properties.properties);
|
|
98
165
|
|
|
99
166
|
await database.collection(utils.SERVICE_CONFIGS_COLLECTION).insertOne(adapter);
|
|
100
167
|
profileItem.services.push(adapter.name);
|
|
101
168
|
const update = { $set: { services: profileItem.services } };
|
|
102
|
-
await database.collection(utils.IAP_PROFILES_COLLECTION).updateOne(
|
|
103
|
-
{ id: pronghornProps.id }, update
|
|
104
|
-
);
|
|
169
|
+
await database.collection(utils.IAP_PROFILES_COLLECTION).updateOne({ id: pronghornProps.id }, update);
|
|
105
170
|
console.log('Database entry creation complete.');
|
|
106
171
|
}
|
|
107
172
|
console.log('Exiting...');
|
|
108
173
|
process.exit(0);
|
|
109
174
|
}
|
|
110
|
-
} else if (['healthcheck', 'basicget', 'connectivity'].includes(command)) {
|
|
111
|
-
|
|
112
|
-
if (serviceItem) {
|
|
113
|
-
const adapter = serviceItem;
|
|
114
|
-
const a = basicGet.getAdapterInstance(adapter);
|
|
115
|
-
if (command === 'healthcheck') {
|
|
116
|
-
await utils.healthCheck(a);
|
|
117
|
-
process.exit(0);
|
|
118
|
-
} else if (command === 'basicget') {
|
|
119
|
-
await utils.runBasicGet(true);
|
|
120
|
-
} else if (command === 'connectivity') {
|
|
121
|
-
const { host } = adapter.properties.properties;
|
|
122
|
-
console.log(`perform networking diagnositics to ${host}`);
|
|
123
|
-
await utils.runConnectivity(host, true);
|
|
124
|
-
process.exit(0);
|
|
125
|
-
}
|
|
126
|
-
} else {
|
|
127
|
-
console.log(`${name} not installed. Run npm \`run install:adapter\` to install.`);
|
|
128
|
-
process.exit(0);
|
|
129
|
-
}
|
|
175
|
+
} else if (['healthcheck', 'basicget', 'connectivity', 'troubleshoot'].includes(command)) {
|
|
176
|
+
await executeCommandOnInstance(command);
|
|
130
177
|
}
|
|
131
178
|
};
|
|
132
179
|
|
|
@@ -170,13 +217,21 @@ program
|
|
|
170
217
|
main('basicget');
|
|
171
218
|
});
|
|
172
219
|
|
|
220
|
+
program
|
|
221
|
+
.command('troubleshoot')
|
|
222
|
+
.alias('tb')
|
|
223
|
+
.description('perfom troubleshooting')
|
|
224
|
+
.action(() => {
|
|
225
|
+
main('troubleshoot');
|
|
226
|
+
});
|
|
227
|
+
|
|
173
228
|
// Allow commander to parse `process.argv`
|
|
174
229
|
program.parse(process.argv);
|
|
175
230
|
|
|
176
231
|
if (process.argv.length < 3) {
|
|
177
232
|
main();
|
|
178
233
|
}
|
|
179
|
-
const allowedParams = ['install', 'healthcheck', 'basicget', 'connectivity'];
|
|
234
|
+
const allowedParams = ['install', 'healthcheck', 'basicget', 'connectivity', 'troubleshoot'];
|
|
180
235
|
if (process.argv.length === 3 && !allowedParams.includes(process.argv[2])) {
|
|
181
236
|
console.log(`unknown parameter ${process.argv[2]}`);
|
|
182
237
|
console.log('try `node troubleshootingAdapter.js -h` to see allowed parameters. Exiting...');
|
package/utils/tbUtils.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
/* eslint-disable no-console */
|
|
7
7
|
|
|
8
8
|
const path = require('path');
|
|
9
|
-
const fs = require('fs-extra');
|
|
10
9
|
const cp = require('child_process');
|
|
10
|
+
const fs = require('fs-extra');
|
|
11
11
|
|
|
12
12
|
module.exports = {
|
|
13
13
|
SERVICE_CONFIGS_COLLECTION: 'service_configs',
|
|
@@ -101,10 +101,8 @@ module.exports = {
|
|
|
101
101
|
*
|
|
102
102
|
* @function decryptProperties
|
|
103
103
|
*/
|
|
104
|
-
decryptProperties: (props, iapDir
|
|
105
|
-
const
|
|
106
|
-
const isEncrypted = props.pathProps.encrypted;
|
|
107
|
-
const PropertyEncryption = discovery.require(propertyEncryptionClassPath, isEncrypted);
|
|
104
|
+
decryptProperties: (props, iapDir) => {
|
|
105
|
+
const { PropertyEncryption } = require(path.join(iapDir, 'node_modules/@itential/itential-utils'));
|
|
108
106
|
const propertyEncryption = new PropertyEncryption({
|
|
109
107
|
algorithm: 'aes-256-ctr',
|
|
110
108
|
key: 'TG9uZ0Rpc3RhbmNlUnVubmVyUHJvbmdob3JuCg==',
|
|
@@ -160,8 +158,7 @@ module.exports = {
|
|
|
160
158
|
* @param {Object} healthcheck - {Object} healthcheck - ./entities/.system/action.json object
|
|
161
159
|
*/
|
|
162
160
|
getHealthCheckEndpoint: (healthcheck) => {
|
|
163
|
-
const endpoint = healthcheck.actions[1].entitypath.slice(21,
|
|
164
|
-
healthcheck.actions[1].entitypath.length - 8);
|
|
161
|
+
const endpoint = healthcheck.actions[1].entitypath.slice(21, healthcheck.actions[1].entitypath.length - 8);
|
|
165
162
|
return { healthCheckEndpoint: endpoint };
|
|
166
163
|
},
|
|
167
164
|
|
|
@@ -203,6 +200,7 @@ module.exports = {
|
|
|
203
200
|
try {
|
|
204
201
|
stdout = cp.execSync(cmd).toString();
|
|
205
202
|
} catch (error) {
|
|
203
|
+
console.log('execute command error', error.stdout.toString(), error.stderr.toString());
|
|
206
204
|
stdout = error.stdout.toString();
|
|
207
205
|
}
|
|
208
206
|
const output = this.getTestCount(stdout);
|
|
@@ -290,10 +288,12 @@ module.exports = {
|
|
|
290
288
|
*/
|
|
291
289
|
runConnectivity: function runConnectivity(host, scriptFlag) {
|
|
292
290
|
let testPath = 'test/integration/adapterTestConnectivity.js';
|
|
291
|
+
let executable = 'mocha';
|
|
293
292
|
if (!scriptFlag) {
|
|
294
293
|
testPath = path.resolve(__dirname, '..', testPath);
|
|
294
|
+
executable = path.join(__dirname, '..', 'node_modules/mocha/bin/mocha');
|
|
295
295
|
}
|
|
296
|
-
return this.systemSync(
|
|
296
|
+
return this.systemSync(`${executable} ${testPath} --HOST=${host} --timeout 10000 --exit`, !scriptFlag);
|
|
297
297
|
},
|
|
298
298
|
|
|
299
299
|
/**
|
|
@@ -340,28 +340,42 @@ module.exports = {
|
|
|
340
340
|
return adapter;
|
|
341
341
|
},
|
|
342
342
|
|
|
343
|
-
getPronghornProps: function getPronghornProps(
|
|
343
|
+
getPronghornProps: function getPronghornProps() {
|
|
344
|
+
const iapDir = this.getIAPHome();
|
|
344
345
|
console.log('Retrieving properties.json file...');
|
|
345
346
|
const rawProps = require(path.join(iapDir, 'properties.json'));
|
|
346
347
|
console.log('Decrypting properties...');
|
|
347
|
-
const
|
|
348
|
-
const discovery = new Discovery();
|
|
349
|
-
const pronghornProps = this.decryptProperties(rawProps, iapDir, discovery);
|
|
348
|
+
const pronghornProps = this.decryptProperties(rawProps, iapDir);
|
|
350
349
|
console.log('Found properties.\n');
|
|
351
350
|
return pronghornProps;
|
|
352
351
|
},
|
|
353
352
|
|
|
353
|
+
getAllAdapterInstances: async function getAllAdapterInstances() {
|
|
354
|
+
const database = await this.getIAPDatabaseConnection();
|
|
355
|
+
const { name } = require(path.join(__dirname, '..', 'package.json'));
|
|
356
|
+
const query = { model: name };
|
|
357
|
+
const options = { projection: { name: 1 } };
|
|
358
|
+
const adapterInstancesNames = await database.collection(this.SERVICE_CONFIGS_COLLECTION).find(
|
|
359
|
+
query,
|
|
360
|
+
options
|
|
361
|
+
).toArray();
|
|
362
|
+
return adapterInstancesNames;
|
|
363
|
+
},
|
|
364
|
+
|
|
354
365
|
// get database connection and existing adapter config
|
|
355
|
-
getAdapterConfig: async function getAdapterConfig() {
|
|
356
|
-
const
|
|
357
|
-
const pronghornProps = this.getPronghornProps(iapDir);
|
|
358
|
-
console.log('Connecting to Database...');
|
|
359
|
-
const database = await this.connect(iapDir, pronghornProps);
|
|
360
|
-
console.log('Connection established.');
|
|
366
|
+
getAdapterConfig: async function getAdapterConfig(adapterId) {
|
|
367
|
+
const database = await this.getIAPDatabaseConnection();
|
|
361
368
|
const { name } = require(path.join(__dirname, '..', 'package.json'));
|
|
369
|
+
let query = {};
|
|
370
|
+
if (!adapterId) {
|
|
371
|
+
query = { model: name };
|
|
372
|
+
} else {
|
|
373
|
+
query = { _id: adapterId };
|
|
374
|
+
}
|
|
362
375
|
const serviceItem = await database.collection(this.SERVICE_CONFIGS_COLLECTION).findOne(
|
|
363
|
-
|
|
376
|
+
query
|
|
364
377
|
);
|
|
378
|
+
const pronghornProps = await this.getPronghornProps();
|
|
365
379
|
return { database, serviceItem, pronghornProps };
|
|
366
380
|
},
|
|
367
381
|
|
|
@@ -438,13 +452,19 @@ module.exports = {
|
|
|
438
452
|
return path.join(this.getCurrentExecutionPath(), '../../..') === this.getIAPHome();
|
|
439
453
|
},
|
|
440
454
|
|
|
455
|
+
getIAPDatabaseConnection: async function getIAPDatabaseConnection() {
|
|
456
|
+
const pronghornProps = await this.getPronghornProps();
|
|
457
|
+
const database = await this.connect(pronghornProps);
|
|
458
|
+
return database;
|
|
459
|
+
},
|
|
460
|
+
|
|
441
461
|
/**
|
|
442
462
|
* @summary connect to mongodb
|
|
443
463
|
*
|
|
444
464
|
* @function connect
|
|
445
465
|
* @param {Object} properties - pronghornProps
|
|
446
466
|
*/
|
|
447
|
-
connect: async function connect(
|
|
467
|
+
connect: async function connect(properties) {
|
|
448
468
|
let dbConnectionProperties = {};
|
|
449
469
|
if (properties.mongoProps) {
|
|
450
470
|
dbConnectionProperties = properties.mongoProps;
|
|
@@ -459,7 +479,7 @@ module.exports = {
|
|
|
459
479
|
if (!dbConnectionProperties.url || !dbConnectionProperties.db) {
|
|
460
480
|
throw new Error('Mongo properties are not specified in IAP configuration!');
|
|
461
481
|
}
|
|
462
|
-
|
|
482
|
+
const iapDir = this.getIAPHome();
|
|
463
483
|
const { MongoDBConnection } = require(path.join(iapDir, 'node_modules/@itential/database'));
|
|
464
484
|
const connection = new MongoDBConnection(dbConnectionProperties);
|
|
465
485
|
const database = await connection.connect(true);
|
package/utils/testRunner.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/* @copyright Itential, LLC 2019 */
|
|
3
3
|
|
|
4
|
+
const execute = require('child_process').exec;
|
|
4
5
|
const fs = require('fs-extra');
|
|
5
6
|
const rl = require('readline-sync');
|
|
6
|
-
const execute = require('child_process').exec;
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* This script will determine the type of integration test to run
|
|
@@ -134,9 +134,13 @@ const offline = async () => {
|
|
|
134
134
|
};
|
|
135
135
|
|
|
136
136
|
const troubleshoot = async (props, scriptFlag, persistFlag, adapter) => {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
let serviceItem;
|
|
138
|
+
if (adapter && adapter.allProps) {
|
|
139
|
+
serviceItem = { properties: { properties: adapter.allProps } };
|
|
140
|
+
}
|
|
141
|
+
if (adapter && adapter.properties && adapter.properties.properties) {
|
|
142
|
+
serviceItem = adapter.properties;
|
|
143
|
+
}
|
|
140
144
|
if (serviceItem) {
|
|
141
145
|
if (!scriptFlag || rls.keyInYN(`Start verifying the connection and authentication properties for ${name}?`)) {
|
|
142
146
|
const { result, updatedAdapter } = VerifyHealthCheckEndpoint(serviceItem, props, scriptFlag);
|
|
@@ -154,10 +158,9 @@ const troubleshoot = async (props, scriptFlag, persistFlag, adapter) => {
|
|
|
154
158
|
}
|
|
155
159
|
|
|
156
160
|
if (persistFlag && healthRes) {
|
|
161
|
+
const { database } = await utils.getIAPDatabaseConnection();
|
|
157
162
|
const update = { $set: { properties: updatedAdapter.properties } };
|
|
158
|
-
await database.collection(utils.SERVICE_CONFIGS_COLLECTION).updateOne(
|
|
159
|
-
{ model: name }, update
|
|
160
|
-
);
|
|
163
|
+
await database.collection(utils.SERVICE_CONFIGS_COLLECTION).updateOne({ model: name }, update);
|
|
161
164
|
if (scriptFlag) {
|
|
162
165
|
console.log(`${name} updated.`);
|
|
163
166
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"name":"Jira Adapter Issue Workflow","tasks":{"1260":{"name":"query","summary":"query issue type id","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":true,"query":"{}.issue_id[0]","obj":"$var.fd2.export"},"outgoing":{"return_data":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":-0.022794117647058822,"y":-0.12121212121212122,"scheduled":false},"5218":{"name":"merge","summary":"project","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"id","value":{"task":"8d6c","variable":"return_data","editable":true}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[],"groups":[],"x":0.10588235294117647,"y":-0.06186868686868687},"8073":{"name":"ProviderForm","summary":"Assignee Form","description":"Show Form w/ Custom Dropdown","location":"Application","app":"FormBuilder","displayName":"FormBuilder","type":"manual","variables":{"incoming":{"form_name":"Assign Issue","instance_data":{},"provider_data":"$var.5cbb.merged_object"},"outgoing":{"export":null},"error":""},"view":"/formbuilder/task/ProviderForm","deprecated":false,"matched":[{"key":"app","highlightString":"<span class='highlight-string'>Form</span>Builder"},{"key":"name","highlightString":"Provider<span class='highlight-string'>Form</span>"},{"key":"summary","highlightString":"Show <span class='highlight-string'>Form</span> w/ Custom Dropdown"},{"key":"description","highlightString":"Show <span class='highlight-string'>Form</span> w/ Custom Dropdown"}],"groups":[{"provenance":"Local AAA","name":"pronghorn_admin","description":"pronghorn_admin"}],"x":0.20123456790123456,"y":0.24161849710982658,"scheduled":false},"workflow_start":{"name":"workflow_start","groups":[],"x":-0.5018518518518519,"y":-0.07167630057803469},"workflow_end":{"name":"workflow_end","groups":[],"x":-0.49753086419753084,"y":0.16647398843930636},"fd2":{"name":"ShowFormByName","summary":"Show Form By Name","description":"Show Form By Name","location":"Application","app":"FormBuilder","displayName":"FormBuilder","type":"manual","variables":{"incoming":{"form_name":"Issue Creation","instance_data":{}},"outgoing":{"export":null},"error":""},"view":"/formbuilder/task/ShowFormByName","deprecated":false,"matched":[],"groups":[{"provenance":"Local AAA","name":"pronghorn_admin","description":"pronghorn_admin"}],"x":-0.14852941176470588,"y":-0.08585858585858586,"scheduled":false},"c2de":{"name":"merge","summary":"fields object","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"summary","value":{"task":"9f","variable":"return_data","editable":true}},{"key":"issuetype","value":{"task":"a8a9","variable":"merged_object"}},{"key":"project","value":{"task":"5218","variable":"merged_object"}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[],"groups":[],"x":0.04852941176470588,"y":-0.22348484848484848},"a8a9":{"name":"merge","summary":"issue type","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"id","value":{"task":"1260","variable":"return_data","editable":true}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[],"groups":[],"x":0.03455882352941177,"y":-0.09974747474747475},"db16":{"name":"merge","summary":"post body","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"fields","value":{"task":"c2de","variable":"merged_object"}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[],"groups":[],"x":0.13014705882352942,"y":-0.19823232323232323},"6b77":{"name":"postRestapi2issue","summary":"Create issue","description":"Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties set.\n\nThe content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-api-2-issue-createmeta-get). These are the same fields that appear on the issue's create screen.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-api-2-issue-createmeta-get) to find subtask issue types).\n * `parent` the must contain the ID or key of the parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which the issue or subtask is created.","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"updateHistory":false,"body":"$var.db16.merged_object","adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>postRestapi2issue</span>"}],"groups":[],"actor":"Pronghorn","x":0.27839506172839507,"y":-0.2023121387283237,"scheduled":false},"9f":{"name":"query","summary":"Query Summary","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":true,"query":"{}.summary[0]","obj":"$var.fd2.export"},"outgoing":{"return_data":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":-0.022794117647058822,"y":-0.21843434343434343,"scheduled":false},"8d6c":{"name":"query","summary":"Query project id","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":true,"query":"{}.project_id[0]","obj":"$var.fd2.export"},"outgoing":{"return_data":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":-0.01764705882352941,"y":-0.007575757575757576,"scheduled":false},"e062":{"name":"query","summary":"Query Issue Id","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":true,"query":"{}.response.id","obj":"$var.6b77.result"},"outgoing":{"return_data":"$var.job.issue_id"},"error":""},"deprecated":false,"matched":[],"groups":[],"x":0.24938271604938272,"y":-0.08092485549132948,"scheduled":false},"810f":{"name":"deleteRestapi2issueissueIdOrKey","summary":"Delete issue","description":"Deletes an issue.\n\nAn issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set `deleteSubtasks`. This causes the issue's subtasks to be deleted with the issue.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If configured, permission to view the issue granted by [ issue-level security](https://confluence.atlassian.com/x/J4lKLg).\n * *Delete issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the issue.","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"issueIdOrKey":"$var.job.issue_id","deleteSubtasks":true,"adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>deleteRestapi2issue</span>issueIdOrKey"}],"groups":[],"actor":"Pronghorn","x":-0.19558823529411765,"y":0.15746971736204576,"scheduled":false},"531e":{"name":"decisionTask","summary":"New Issue Creation","description":"MOP Decision Task","location":"Application","app":"MOP","displayName":"MOP","type":"manual","variables":{"incoming":{"title":"New","body":"<h3>New Issue</h3><p> \nA new issue has been created with issue id $var.job.issue_id$\n</p>","variables":{},"btn_success":"Proceed","btn_failure":"Delete Issue"},"outgoing":{},"error":""},"view":"/mop/task/decisionTask","deprecated":false,"matched":[{"key":"app","highlightString":"<span class='highlight-string'>MOP</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>MOP</span> <span class='highlight-string'>Decision</span> Task"},{"key":"description","highlightString":"<span class='highlight-string'>MOP</span> <span class='highlight-string'>Decision</span> Task"},{"key":"name","highlightString":"<span class='highlight-string'>decision</span>Task"}],"groups":[{"provenance":"Local AAA","name":"pronghorn_admin","description":"pronghorn_admin"}],"x":0.2289855072463768,"y":0.06227544910179641,"scheduled":false},"269a":{"name":"putRestapi2issueissueIdOrKeyassignee","summary":"Assign issue","description":"Assigns an issue to a user. Use this operation when the calling user does not have the *Edit Issues* permission but has the *Assign issue* permission for the project that the issue is in.\n\nIf `name` or `accountId` is set to:\n\n * `\"-1\"`, the issue is assigned to the default assignee for the project.\n * `null`, the issue is set to unassigned.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* and *Assign Issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If configured, permission to view the issue granted by [ issue-level security](https://confluence.atlassian.com/x/J4lKLg).","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"issueIdOrKey":"$var.job.issue_id","body":"$var.f844.merged_object","adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>putRestapi2issue</span>issueIdOrKeyassignee"}],"groups":[],"actor":"Pronghorn","x":0.2617283950617284,"y":0.6427745664739885,"scheduled":false},"987b":{"name":"query","summary":"Query Assignee Name","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"assignee_names[0]","obj":"$var.8073.export"},"outgoing":{"return_data":"$var.job.assignee_name"},"error":""},"deprecated":false,"matched":[],"groups":[],"x":0.25555555555555554,"y":0.3815028901734104,"scheduled":false},"f844":{"name":"merge","summary":"Merge Assignee Info","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"name","value":{"task":"987b","variable":"return_data"}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>merge</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Merge</span> Data"},{"key":"description","highlightString":"<span class='highlight-string'>Merge</span> data into a single object"}],"groups":[],"x":0.25925925925925924,"y":0.484393063583815},"3c71":{"name":"getRestapi2issueissueIdOrKey","summary":"Get Issue Status","description":"Returns the details for an issue.\n\nThe issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or other redirect is **not** returned. The issue key returned in the response is the key of the issue found.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If configured, permission to view the issue granted by [ issue-level security](https://confluence.atlassian.com/x/J4lKLg).","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"issueIdOrKey":"$var.job.issue_id","fields":"status","fieldsByKeys":"","expand":"","properties":"","updateHistory":"","adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>getRestapi2issue</span>issueIdOrKey"}],"groups":[],"actor":"Pronghorn","x":0.052941176470588235,"y":0.629878869448183,"scheduled":false},"b036":{"name":"delay","summary":"Status Check Delay","description":"Delay a Job for a duration by Job ID and number of seconds.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"time":10},"outgoing":{"time_in_milliseconds":null},"error":""},"deprecated":false,"matched":[],"groups":[],"x":-0.06911764705882353,"y":0.41318977119784656,"scheduled":false},"cc8":{"name":"evaluation","summary":"Run Evaluation","description":"Run an evaluation","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"all_true_flag":false,"evaluation_groups":[{"all_true_flag":true,"evaluations":[{"query":"response.fields.status.name","operand_1":{"variable":"result","task":"3c71"},"operator":"==","operand_2":{"variable":"In Progress","task":"static"}}]}]},"outgoing":{"return_value":null}},"deprecated":false,"matched":[],"groups":[],"x":-0.07573529411764705,"y":0.6244952893674294},"f4d4":{"name":"postRestapi2issueissueIdOrKeycomment","summary":"Add Issue Comment","description":"Adds a comment to an issue.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Add comments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If configured, permission to view the issue granted by [ issue-level security](https://confluence.atlassian.com/x/J4lKLg).","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"issueIdOrKey":"$var.job.issue_id","expand":"","body":{"body":"issue approved in Jira, starting job"},"adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>postRestapi2issue</span>issueIdOrKeycomment"}],"groups":[],"actor":"Pronghorn","x":-0.07352941176470588,"y":0.8506056527590848,"scheduled":false},"d89a":{"name":"decisionTask","summary":"Issue Wrap Up","description":"MOP Decision Task","location":"Application","app":"MOP","displayName":"MOP","type":"manual","variables":{"incoming":{"title":"New","body":"<h3>Issue Complete</h3><p> \nJob issue $var.job.issue_id$ has been completed.\n</p>","variables":{},"btn_success":"Mark as Done","btn_failure":"Delete Issue"},"outgoing":{},"error":""},"view":"/mop/task/decisionTask","deprecated":false,"matched":[{"key":"app","highlightString":"<span class='highlight-string'>MOP</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>MOP</span> <span class='highlight-string'>Decision</span> Task"},{"key":"description","highlightString":"<span class='highlight-string'>MOP</span> <span class='highlight-string'>Decision</span> Task"},{"key":"name","highlightString":"<span class='highlight-string'>decision</span>Task"}],"groups":[{"provenance":"Local AAA","name":"pronghorn_admin","description":"pronghorn_admin"}],"x":-0.19926470588235295,"y":0.620457604306864,"scheduled":false},"23a":{"name":"postRestapi2issueissueIdOrKeytransitions","summary":"Issue Done","description":"Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.\n\nTo update the fields on the transition screen, specify the fields in the `fields` or `update` parameters in the request body. Get details about the fields using [ Get transitions](#api-api-2-issue-issueIdOrKey-transitions-get) with the `transitions.fields` expand.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If configured, permission to view the issue granted by [ issue-level security](https://confluence.atlassian.com/x/J4lKLg).\n * *Transition issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the issue.","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"issueIdOrKey":"$var.job.issue_id","body":{"transition":{"id":"41"}},"adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>postRestapi2</span>issueissueIdOrKeytransitions"}],"groups":[],"actor":"Pronghorn","x":-0.4985294117647059,"y":0.678030303030303,"scheduled":false},"606f":{"name":"postRestapi2issueissueIdOrKeynotify","summary":"Send notification for issue","description":"Creates an email notification for an issue and adds it to the mail queue.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If configured, permission to view the issue granted by [issue-level security](https://confluence.atlassian.com/x/J4lKLg).","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"issueIdOrKey":"$var.job.issue_id","body":{"subject":"Issue Done","textBody":"The Job FooBar you requested is complete","to":{"reporter":true}},"adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>postRestapi2issueissueIdOrKeynotify</span>"}],"groups":[],"actor":"Pronghorn","x":-0.4963235294117647,"y":0.42045454545454547,"scheduled":false},"eb07":{"name":"getRestapi2userassignablesearch","summary":"Find users assignable to Issue","description":"Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be assigned to:\n\n * a new issue, by providing the `projectKeyOrId`.\n * an updated issue, by providing the `issueKey`.\n * to an issue during a transition (workflow action), by providing the `issueKey` and the transition id in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in the `expand` parameter of [ Get issue](#api-api-2-issue-issueIdOrKey-get).\n\nIn all these cases, you can pass a username to determine if a user can be assigned to an issue. The user is returned in the response if they can be assigned to the issue or issue transition.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"query":"","username":"","accountId":"","project":"","issueKey":"$var.job.issue_key","startAt":"","maxResults":"","actionDescriptorId":"","adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"getRestapi2user<span class='highlight-string'>assignable</span>search"},{"key":"summary","highlightString":"Find users <span class='highlight-string'>assignable</span> to issues"}],"groups":[],"actor":"Pronghorn","x":0.38395061728395063,"y":0.058959537572254334,"scheduled":false},"d91":{"name":"query","summary":"Query Data Using 'json-query' Format","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"{}.response.key","obj":"$var.6b77.result"},"outgoing":{"return_data":"$var.job.issue_key"},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.3197530864197531,"y":-0.08554913294797688,"scheduled":false},"68a8":{"name":"query","summary":"Get Assignable Users","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"{}.response[*].name","obj":"$var.eb07.result"},"outgoing":{"return_data":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.3932098765432099,"y":0.24739884393063583,"scheduled":false},"5cbb":{"name":"merge","summary":"Merge Assignee For Form","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"assignee_names","value":{"task":"68a8","variable":"return_data"}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>merge</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Merge</span> Data"},{"key":"description","highlightString":"<span class='highlight-string'>Merge</span> data into a single object"}],"groups":[],"x":0.3160493827160494,"y":0.24971098265895952}},"transitions":{"1260":{"a8a9":{"type":"standard","state":"success"}},"5218":{"c2de":{"type":"standard","state":"success"}},"8073":{"987b":{"type":"standard","state":"success"}},"workflow_start":{"fd2":{"type":"standard","state":"success"}},"workflow_end":{},"6dbe":{},"fd2":{"1260":{"type":"standard","state":"success"},"9f":{"type":"standard","state":"success"},"8d6c":{"type":"standard","state":"success"}},"f158":{},"c2de":{"db16":{"type":"standard","state":"success"}},"a8a9":{"c2de":{"type":"standard","state":"success"}},"bc8":{},"db16":{"6b77":{"type":"standard","state":"success"}},"6b77":{"e062":{"type":"standard","state":"success"},"d91":{"type":"standard","state":"success"}},"9f":{"c2de":{"type":"standard","state":"success"}},"8d6c":{"5218":{"type":"standard","state":"success"}},"e062":{"531e":{"type":"standard","state":"success"}},"810f":{"workflow_end":{"type":"standard","state":"success"}},"531e":{"810f":{"type":"standard","state":"failure"},"eb07":{"type":"standard","state":"success"}},"269a":{"3c71":{"type":"standard","state":"success"},"810f":{"type":"standard","state":"failure"}},"987b":{"f844":{"type":"standard","state":"success"}},"f844":{"269a":{"type":"standard","state":"success"}},"3c71":{"cc8":{"type":"standard","state":"success"}},"b036":{"3c71":{"type":"revert","state":"success"}},"cc8":{"b036":{"type":"standard","state":"failure"},"d89a":{"type":"standard","state":"success"},"f4d4":{"type":"standard","state":"success"}},"31ca":{},"f4d4":{},"d89a":{"810f":{"type":"standard","state":"failure"},"23a":{"type":"standard","state":"success"}},"23a":{"606f":{"type":"standard","state":"success"}},"606f":{"workflow_end":{"type":"standard","state":"success"}},"2b82":{},"eb07":{"68a8":{"type":"standard","state":"success"}},"d91":{"eb07":{"type":"standard","state":"success"}},"68a8":{"5cbb":{"type":"standard","state":"success"}},"5cbb":{"8073":{"type":"standard","state":"success"}}},"font_size":12,"created":"2019-03-27T19:58:22.741Z","created_by":{"provenance":"Local AAA","username":"admin@pronghorn","firstname":"admin","inactive":false,"email":""},"groups":[],"last_updated":"2019-04-03T20:06:17.322Z","last_updated_by":{"provenance":"Local AAA","username":"admin@pronghorn","firstname":"admin","inactive":false,"email":""},"type":"automation","description":null}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"name":"Jira Adapter Project Workflow","tasks":{"366":{"name":"merge","summary":"Merge Project Create Data","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"leadAccountId","value":{"task":"job","variable":"myself_id"}},{"key":"key","value":{"task":"c2bf","variable":"return_data"}},{"key":"name","value":{"task":"8124","variable":"return_data"}},{"key":"projectTypeKey","value":{"task":"390c","variable":"return_data"}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>merge</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Merge</span> Data"},{"key":"description","highlightString":"<span class='highlight-string'>Merge</span> data into a single object"}],"groups":[],"x":0.3135802469135803,"y":0.6751445086705202},"1698":{"name":"postRestapi2project","summary":"Create project","description":"Creates a project based on a project type template, as shown in the following table:\n\n<table> \n <thead> \n <tr> \n <th>Project Type Key</th> \n <th>Project Template Key</th> \n </tr> \n </thead> \n <tbody> \n <tr> \n <td><code>business</code></td> \n <td><code>com.atlassian.jira-core-project-templates:jira-core-simplified-content-management</code>, <code>com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval</code>, <code>com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking</code>, <code>com.atlassian.jira-core-project-templates:jira-core-simplified-process-control</code>, <code>com.atlassian.jira-core-project-templates:jira-core-simplified-procurement</code>, <code>com.atlassian.jira-core-project-templates:jira-core-simplified-project-management</code>, <code>com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment</code>, <code>com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking</code> </td> \n </tr> \n <tr> \n <td><code>service_desk</code></td> \n <td><code>com.atlassian.servicedesk:simplified-it-service-desk</code>, <code>com.atlassian.servicedesk:simplified-internal-service-desk</code>, <code>com.atlassian.servicedesk:simplified-external-service-desk</code> </td> \n </tr> \n <tr> \n <td><code>software</code></td> \n <td><code>com.pyxis.greenhopper.jira:gh-simplified-agility-kanban</code>, <code>com.pyxis.greenhopper.jira:gh-simplified-agility-scrum</code>, <code>com.pyxis.greenhopper.jira:gh-simplified-basic</code>, <code>com.pyxis.greenhopper.jira:gh-simplified-kanban-classic</code>, <code>com.pyxis.greenhopper.jira:gh-simplified-scrum-classic</code> </td> \n </tr> \n <tr> \n <td><code>ops</code></td> \n <td><code>com.atlassian.jira.jira-incident-management-plugin:im-incident-management</code></td> \n </tr> \n </tbody>\n <tbody> \n </tbody>\n</table>\n\nThe project types are available according to the installed Jira features as follows:\n\n * Jira Core, the default, enables `business` projects.\n * Jira Service Desk enables `service_desk` projects.\n * Jira Software enables `software` projects.\n * Jira Ops enables `ops` projects.Jira\n\nTo determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list. To add JIRA Software or JIRA Service Desk into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**. For more information, see [ Managing add-ons](https://confluence.atlassian.com/x/S31NLg). To enable Jira Ops, see [Jira Ops](https://www.atlassian.com/software/jira/ops).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"body":"$var.366.merged_object","adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>postRestapi2project</span>"}],"groups":[],"actor":"Pronghorn","x":0.4148148148148148,"y":0.6404624277456648,"scheduled":false},"6991":{"name":"decisionTask","summary":"MOP Decision Task","description":"MOP Decision Task","location":"Application","app":"MOP","displayName":"MOP","type":"manual","variables":{"incoming":{"title":"Delete Project?","body":"Are you sure you want to delete the project you created?","variables":"","btn_success":"Yes, Delete","btn_failure":"No"},"outgoing":{},"error":""},"view":"/mop/task/decisionTask","deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>decision</span>Task"},{"key":"summary","highlightString":"MOP <span class='highlight-string'>Decision</span> Task"},{"key":"description","highlightString":"MOP <span class='highlight-string'>Decision</span> Task"}],"groups":[{"provenance":"Local AAA","name":"pronghorn_admin","description":"pronghorn_admin"}],"x":0.7561728395061729,"y":0.47861271676300576,"scheduled":false},"8124":{"name":"query","summary":"Query Project Name","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"project_name[0]","obj":"$var.d8a2.export"},"outgoing":{"return_data":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.30987654320987656,"y":0.5664739884393064,"scheduled":false},"workflow_start":{"name":"workflow_start","groups":[],"x":0,"y":0.5},"workflow_end":{"name":"workflow_end","groups":[],"x":1.1277777777777778,"y":0.4774566473988439},"f31f":{"name":"getRestapi2projecttype","summary":"Get all project types","description":"Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid license for each type.\n\n**[Permissions](#permissions) required:** None.","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"getRestapi2<span class='highlight-string'>projecttype</span>"}],"groups":[],"actor":"Pronghorn","x":0.07654320987654321,"y":0.34566473988439306,"scheduled":false},"da2d":{"name":"query","summary":"Query Project Type Names","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"response[*].key","obj":"$var.f31f.result"},"outgoing":{"return_data":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.17160493827160495,"y":0.3421965317919075,"scheduled":false},"d8a2":{"name":"ProviderForm","summary":"Create Project Form","description":"Show Form w/ Custom Dropdown","location":"Application","app":"FormBuilder","displayName":"FormBuilder","type":"manual","variables":{"incoming":{"form_name":"Create Project","instance_data":{},"provider_data":"$var.dae.merged_object"},"outgoing":{"export":null},"error":""},"view":"/formbuilder/task/ProviderForm","deprecated":false,"matched":[{"key":"app","highlightString":"<span class='highlight-string'>Form</span>Builder"},{"key":"name","highlightString":"Provider<span class='highlight-string'>Form</span>"},{"key":"summary","highlightString":"Show <span class='highlight-string'>Form</span> w/ Custom Dropdown"},{"key":"description","highlightString":"Show <span class='highlight-string'>Form</span> w/ Custom Dropdown"}],"groups":[{"provenance":"Local AAA","name":"pronghorn_admin","description":"pronghorn_admin"}],"x":0.23333333333333334,"y":0.4728323699421965,"scheduled":false},"dae":{"name":"merge","summary":"Merge Project Type Form","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"project_type","value":{"task":"da2d","variable":"return_data"}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>merge</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Merge</span> Data"},{"key":"description","highlightString":"<span class='highlight-string'>Merge</span> data into a single object"}],"groups":[],"x":0.2382716049382716,"y":0.3445086705202312},"1f31":{"name":"getRestapi2myself","summary":"Get current user","description":"Returns details for the current user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"expand":"","adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>getRestapi2my</span>self"}],"groups":[],"actor":"Pronghorn","x":0.10246913580246914,"y":0.5491329479768786,"scheduled":false},"c3de":{"name":"query","summary":"Query My Account Id","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"response.accountId","obj":"$var.1f31.result"},"outgoing":{"return_data":"$var.job.myself_id"},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.19012345679012346,"y":0.6277456647398844,"scheduled":false},"390c":{"name":"query","summary":"Query Project Type","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"project_type[0]","obj":"$var.d8a2.export"},"outgoing":{"return_data":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.35185185185185186,"y":0.5364161849710982,"scheduled":false},"c2bf":{"name":"query","summary":"Query Project Key","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"project_key[0]","obj":"$var.d8a2.export"},"outgoing":{"return_data":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.23271604938271606,"y":0.5791907514450867,"scheduled":false},"6df":{"name":"query","summary":"Query Project Id","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"response.id","obj":"$var.1698.result"},"outgoing":{"return_data":"$var.job.project_id"},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.4185185185185185,"y":0.47861271676300576,"scheduled":false},"99d1":{"name":"deleteRestapi2projectprojectIdOrKey","summary":"Delete project","description":"Deletes a project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"projectIdOrKey":"$var.job.project_id","adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>deleteRestapi2project</span>projectIdOrKey"}],"groups":[],"actor":"Pronghorn","x":0.9302469135802469,"y":0.4820809248554913,"scheduled":false},"595b":{"name":"postRestapi2issue","summary":"Create issue","description":"Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties set.\n\nThe content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-api-2-issue-createmeta-get). These are the same fields that appear on the issue's create screen.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-api-2-issue-createmeta-get) to find subtask issue types).\n * `parent` the must contain the ID or key of the parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which the issue or subtask is created.","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"updateHistory":"","body":"$var.8f61.merged_object","adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>postRestapi2issue</span>"}],"groups":[],"actor":"Pronghorn","x":0.7555555555555555,"y":0.22658959537572254,"scheduled":false},"14f1":{"name":"decisionTask","summary":"Post Project Creation Decision","description":"MOP Decision Task","location":"Application","app":"MOP","displayName":"MOP","type":"manual","variables":{"incoming":{"title":"Create Project Issue","body":"<p> Your project has been created, would you like to add an issue to it? </P>","variables":0,"btn_success":"Create Issue","btn_failure":"Delete Project"},"outgoing":{},"error":""},"view":"/mop/task/decisionTask","deprecated":false,"matched":[{"key":"app","highlightString":"<span class='highlight-string'>MOP</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>MOP</span> Decision Task"},{"key":"description","highlightString":"<span class='highlight-string'>MOP</span> Decision Task"}],"groups":[{"provenance":"Local AAA","name":"pronghorn_admin","description":"pronghorn_admin"}],"x":0.5858024691358025,"y":0.49942196531791905,"scheduled":false},"685f":{"name":"getRestapi2issuetype","summary":"Get all issue types for user","description":"Returns all issue types.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, issue types are only returned as follows:\n\n * if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), all issue types are returned.\n * if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, the issue types associated with the projects the user has permission to browse are returned.","location":"Adapter","locationType":"Jira","app":"Jira","displayName":"Jira","type":"automatic","variables":{"incoming":{"adapter_id":"Adapter-Jira"},"outgoing":{"result":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>getRestapi2issuetyp</span>e"}],"groups":[],"actor":"Pronghorn","x":0.4080246913580247,"y":0.28439306358381505,"scheduled":false},"9b47":{"name":"query","summary":"Query IssueTypes","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"response[*].name","obj":"$var.685f.result"},"outgoing":{"return_data":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.4148148148148148,"y":0.14797687861271677,"scheduled":false},"abb1":{"name":"ProviderForm","summary":"Create Issue","description":"Show Form w/ Custom Dropdown","location":"Application","app":"FormBuilder","displayName":"FormBuilder","type":"manual","variables":{"incoming":{"form_name":"Create Issue","instance_data":{},"provider_data":"$var.c342.merged_object"},"outgoing":{"export":null},"error":""},"view":"/formbuilder/task/ProviderForm","deprecated":false,"matched":[],"groups":[{"provenance":"Local AAA","name":"pronghorn_admin","description":"pronghorn_admin"}],"x":0.5141975308641975,"y":0.013872832369942197,"scheduled":false},"c342":{"name":"merge","summary":"Merge Issue Type","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"issue_type","value":{"task":"9b47","variable":"return_data"}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>merge</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Merge</span> Data"},{"key":"description","highlightString":"<span class='highlight-string'>Merge</span> data into a single object"}],"groups":[],"x":0.40987654320987654,"y":0.03005780346820809},"a7e0":{"name":"query","summary":"Query IssueType","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"issue_type[0]","obj":"$var.abb1.export"},"outgoing":{"return_data":"$var.job.issue_type_selected"},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.6067901234567902,"y":-0.005780346820809248,"scheduled":false},"cf9":{"name":"query","summary":"Query Issue Summary","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"issue_summary[0]","obj":"$var.abb1.export"},"outgoing":{"return_data":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.5506172839506173,"y":0.12716763005780346,"scheduled":false},"5fae":{"name":"query","summary":"Query Issue Type Id","description":"Query data using a dot/bracket notation string and a matching key/value pair.","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"pass_on_null":false,"query":"response[name=$var.job.issue_type_selected$].id","obj":"$var.685f.result"},"outgoing":{"return_data":null},"error":""},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>query</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Query</span> Data Using 'json-query' Format"},{"key":"description","highlightString":"<span class='highlight-string'>Query</span> data using a dot/bracket notation string and a matching key/value pair."}],"groups":[],"x":0.6567901234567901,"y":0.003468208092485549,"scheduled":false},"5ff3":{"name":"merge","summary":"Merge Project Id","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"id","value":{"task":"6df","variable":"return_data"}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>merge</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Merge</span> Data"},{"key":"description","highlightString":"<span class='highlight-string'>Merge</span> data into a single object"}],"groups":[],"x":0.5080246913580246,"y":0.22890173410404624},"34f6":{"name":"merge","summary":"Merge issue type Id","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"id","value":{"task":"5fae","variable":"return_data"}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>merge</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Merge</span> Data"},{"key":"description","highlightString":"<span class='highlight-string'>Merge</span> data into a single object"}],"groups":[],"x":0.6265432098765432,"y":0.1283236994219653},"fca":{"name":"merge","summary":"Merge Issue Obj","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"summary","value":{"task":"cf9","variable":"return_data"}},{"key":"project","value":{"task":"5ff3","variable":"merged_object"}},{"key":"issuetype","value":{"task":"34f6","variable":"merged_object"}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>merge</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Merge</span> Data"},{"key":"description","highlightString":"<span class='highlight-string'>Merge</span> data into a single object"}],"groups":[],"x":0.5864197530864198,"y":0.21965317919075145},"8f61":{"name":"merge","summary":"Merge Issue Create","description":"Merge data into a single object","location":"Application","locationType":null,"app":"WorkFlowEngine","displayName":"WorkFlowEngine","type":"operation","variables":{"incoming":{"data_to_merge":[{"key":"fields","value":{"task":"fca","variable":"merged_object"}}]},"outgoing":{"merged_object":null}},"deprecated":false,"matched":[{"key":"name","highlightString":"<span class='highlight-string'>merge</span>"},{"key":"summary","highlightString":"<span class='highlight-string'>Merge</span> Data"},{"key":"description","highlightString":"<span class='highlight-string'>Merge</span> data into a single object"}],"groups":[],"x":0.6493827160493827,"y":0.2323699421965318}},"transitions":{"366":{"1698":{"type":"standard","state":"success"}},"1698":{"6df":{"type":"standard","state":"success"}},"6991":{"99d1":{"type":"standard","state":"success"}},"8124":{"366":{"type":"standard","state":"success"}},"workflow_start":{"f31f":{"type":"standard","state":"success"},"1f31":{"type":"standard","state":"success"}},"workflow_end":{},"f31f":{"da2d":{"type":"standard","state":"success"}},"da2d":{"dae":{"type":"standard","state":"success"}},"d8a2":{"8124":{"type":"standard","state":"success"},"c2bf":{"type":"standard","state":"success"},"390c":{"type":"standard","state":"success"}},"dae":{"d8a2":{"type":"standard","state":"success"}},"2cb":{},"1f31":{"c3de":{"type":"standard","state":"success"}},"c3de":{"366":{"type":"standard","state":"success"}},"390c":{"366":{"type":"standard","state":"success"}},"c2bf":{"366":{"type":"standard","state":"success"}},"6df":{"14f1":{"type":"standard","state":"success"}},"99d1":{"workflow_end":{"type":"standard","state":"success"}},"595b":{"6991":{"type":"standard","state":"success"}},"14f1":{"6991":{"type":"standard","state":"failure"},"685f":{"type":"standard","state":"success"}},"685f":{"9b47":{"type":"standard","state":"success"}},"9b47":{"c342":{"type":"standard","state":"success"}},"abb1":{"a7e0":{"type":"standard","state":"success"},"cf9":{"type":"standard","state":"success"},"5ff3":{"type":"standard","state":"success"}},"c342":{"abb1":{"type":"standard","state":"success"}},"a7e0":{"5fae":{"type":"standard","state":"success"}},"cf9":{"fca":{"type":"standard","state":"success"}},"5fae":{"34f6":{"type":"standard","state":"success"}},"5ff3":{"fca":{"type":"standard","state":"success"}},"34f6":{"fca":{"type":"standard","state":"success"}},"fca":{"8f61":{"type":"standard","state":"success"}},"8f61":{"595b":{"type":"standard","state":"success"}},"6a2e":{}},"font_size":12,"created":"2019-04-03T20:23:46.273Z","created_by":{"provenance":"Local AAA","username":"admin@pronghorn","firstname":"admin","inactive":false,"email":""},"groups":[],"last_updated":"2019-04-03T21:41:09.075Z","last_updated_by":{"provenance":"Local AAA","username":"admin@pronghorn","firstname":"admin","inactive":false,"email":""},"type":"automation","description":null}
|
package/workflows/README.md
DELETED