@pipedream/zendesk 0.5.0 → 0.6.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/actions/create-ticket/create-ticket.mjs +1 -1
- package/actions/delete-ticket/delete-ticket.mjs +1 -1
- package/actions/update-ticket/update-ticket.mjs +1 -1
- package/package.json +1 -1
- package/sources/common/webhook.mjs +8 -0
- package/sources/new-ticket/new-ticket.mjs +1 -1
- package/sources/ticket-added-to-view/ticket-added-to-view.mjs +50 -0
- package/sources/ticket-closed/ticket-closed.mjs +1 -1
- package/sources/ticket-pended/ticket-pended.mjs +4 -4
- package/sources/ticket-solved/ticket-solved.mjs +1 -1
- package/sources/ticket-updated/ticket-updated.mjs +1 -1
- package/zendesk.app.mjs +46 -1
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
name: "Create Ticket",
|
|
6
6
|
description: "Creates a ticket. [See the docs](https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#create-ticket).",
|
|
7
7
|
type: "action",
|
|
8
|
-
version: "0.1.
|
|
8
|
+
version: "0.1.1",
|
|
9
9
|
props: {
|
|
10
10
|
app,
|
|
11
11
|
ticketCommentBody: {
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
name: "Delete Ticket",
|
|
6
6
|
description: "Deletes a ticket. [See the docs](https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#delete-ticket).",
|
|
7
7
|
type: "action",
|
|
8
|
-
version: "0.1.
|
|
8
|
+
version: "0.1.1",
|
|
9
9
|
props: {
|
|
10
10
|
app,
|
|
11
11
|
ticketId: {
|
|
@@ -5,7 +5,7 @@ export default {
|
|
|
5
5
|
name: "Update Ticket",
|
|
6
6
|
description: "Updates a ticket. [See the docs](https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/#update-ticket).",
|
|
7
7
|
type: "action",
|
|
8
|
-
version: "0.1.
|
|
8
|
+
version: "0.1.1",
|
|
9
9
|
props: {
|
|
10
10
|
app,
|
|
11
11
|
ticketId: {
|
package/package.json
CHANGED
|
@@ -197,6 +197,9 @@ export default {
|
|
|
197
197
|
) === 0
|
|
198
198
|
);
|
|
199
199
|
},
|
|
200
|
+
isRelevant() {
|
|
201
|
+
return true;
|
|
202
|
+
},
|
|
200
203
|
},
|
|
201
204
|
async run(event) {
|
|
202
205
|
const {
|
|
@@ -221,6 +224,11 @@ export default {
|
|
|
221
224
|
return;
|
|
222
225
|
}
|
|
223
226
|
|
|
227
|
+
const isRelevant = await this.isRelevant(payload);
|
|
228
|
+
if (!isRelevant) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
|
|
224
232
|
const ts = Date.parse(payload.updatedAt);
|
|
225
233
|
const id = `${payload.ticketId}-${ts}`;
|
|
226
234
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import common from "../common/ticket.mjs";
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
...common,
|
|
5
|
+
key: "zendesk-ticket-added-to-view",
|
|
6
|
+
name: "New Ticket Added to View (Instant)",
|
|
7
|
+
description: "Emit new event when a ticket is added to the specified view",
|
|
8
|
+
version: "0.0.1",
|
|
9
|
+
type: "source",
|
|
10
|
+
dedupe: "unique",
|
|
11
|
+
props: {
|
|
12
|
+
...common.props,
|
|
13
|
+
viewId: {
|
|
14
|
+
propDefinition: [
|
|
15
|
+
common.props.app,
|
|
16
|
+
"viewId",
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
methods: {
|
|
21
|
+
...common.methods,
|
|
22
|
+
getWebhookName() {
|
|
23
|
+
return "Ticket Added To View Webhook";
|
|
24
|
+
},
|
|
25
|
+
getTriggerTitle() {
|
|
26
|
+
return "Ticket Added To View Trigger";
|
|
27
|
+
},
|
|
28
|
+
getTriggerConditions() {
|
|
29
|
+
return {
|
|
30
|
+
any: [
|
|
31
|
+
{
|
|
32
|
+
field: "update_type",
|
|
33
|
+
value: "Change",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
field: "update_type",
|
|
37
|
+
value: "Create",
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
async isRelevant(payload) {
|
|
43
|
+
const { tickets } = await this.app.listTicketsInView({
|
|
44
|
+
viewId: this.viewId,
|
|
45
|
+
});
|
|
46
|
+
const foundTicket = tickets.find(({ id }) => id == payload.ticketId);
|
|
47
|
+
return foundTicket;
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
};
|
|
@@ -2,19 +2,19 @@ import common from "../common/ticket.mjs";
|
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
...common,
|
|
5
|
-
name: "Ticket
|
|
5
|
+
name: "Ticket Pending (Instant)",
|
|
6
6
|
key: "zendesk-ticket-pended",
|
|
7
7
|
type: "source",
|
|
8
8
|
description: "Emit new event when a ticket has changed to pending status",
|
|
9
|
-
version: "0.2.
|
|
9
|
+
version: "0.2.1",
|
|
10
10
|
dedupe: "unique",
|
|
11
11
|
methods: {
|
|
12
12
|
...common.methods,
|
|
13
13
|
getWebhookName() {
|
|
14
|
-
return "Ticket
|
|
14
|
+
return "Ticket Pending Webhook";
|
|
15
15
|
},
|
|
16
16
|
getTriggerTitle() {
|
|
17
|
-
return "Ticket
|
|
17
|
+
return "Ticket Pending Trigger";
|
|
18
18
|
},
|
|
19
19
|
getTriggerConditions() {
|
|
20
20
|
return {
|
package/zendesk.app.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export default {
|
|
|
7
7
|
propDefinitions: {
|
|
8
8
|
categoryId: {
|
|
9
9
|
type: "string",
|
|
10
|
-
label: "Trigger
|
|
10
|
+
label: "Trigger Category ID",
|
|
11
11
|
description: "The ID of the trigger category. [See the docs here](https://developer.zendesk.com/api-reference/ticketing/business-rules/trigger_categories/#list-trigger-categories)",
|
|
12
12
|
async options({ prevContext }) {
|
|
13
13
|
const { afterCursor } = prevContext;
|
|
@@ -69,6 +69,37 @@ export default {
|
|
|
69
69
|
};
|
|
70
70
|
},
|
|
71
71
|
},
|
|
72
|
+
viewId: {
|
|
73
|
+
type: "string",
|
|
74
|
+
label: "View ID",
|
|
75
|
+
description: "The ID of the view",
|
|
76
|
+
async options({ prevContext }) {
|
|
77
|
+
const { afterCursor } = prevContext;
|
|
78
|
+
|
|
79
|
+
const {
|
|
80
|
+
views,
|
|
81
|
+
meta,
|
|
82
|
+
} =
|
|
83
|
+
await this.listViews({
|
|
84
|
+
params: {
|
|
85
|
+
[constants.PAGE_SIZE_PARAM]: constants.DEFAULT_LIMIT,
|
|
86
|
+
[constants.PAGE_AFTER_PARAM]: afterCursor,
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
return {
|
|
91
|
+
context: {
|
|
92
|
+
afterCursor: meta.after_cursor,
|
|
93
|
+
},
|
|
94
|
+
options: views.map(({
|
|
95
|
+
id, title,
|
|
96
|
+
}) => ({
|
|
97
|
+
label: title || `View #${id}`,
|
|
98
|
+
value: id,
|
|
99
|
+
})),
|
|
100
|
+
};
|
|
101
|
+
},
|
|
102
|
+
},
|
|
72
103
|
ticketCommentBody: {
|
|
73
104
|
type: "string",
|
|
74
105
|
label: "Comment body",
|
|
@@ -161,5 +192,19 @@ export default {
|
|
|
161
192
|
...args,
|
|
162
193
|
});
|
|
163
194
|
},
|
|
195
|
+
listViews(args = {}) {
|
|
196
|
+
return this.makeRequest({
|
|
197
|
+
path: "/views",
|
|
198
|
+
...args,
|
|
199
|
+
});
|
|
200
|
+
},
|
|
201
|
+
listTicketsInView({
|
|
202
|
+
viewId, ...args
|
|
203
|
+
} = {}) {
|
|
204
|
+
return this.makeRequest({
|
|
205
|
+
path: `/views/${viewId}/tickets`,
|
|
206
|
+
...args,
|
|
207
|
+
});
|
|
208
|
+
},
|
|
164
209
|
},
|
|
165
210
|
};
|