From 4dd994348d0e4f2bfb0ce82ea2c9fc7af69feb1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C4=B1dvan=20Akca?= Date: Fri, 24 Nov 2023 13:11:09 +0300 Subject: [PATCH] feat(zendesk): add find ticket action --- .../apps/zendesk/actions/find-ticket/index.ts | 32 +++++++++++++++++++ .../backend/src/apps/zendesk/actions/index.ts | 3 +- packages/docs/pages/apps/zendesk/actions.md | 2 ++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 packages/backend/src/apps/zendesk/actions/find-ticket/index.ts diff --git a/packages/backend/src/apps/zendesk/actions/find-ticket/index.ts b/packages/backend/src/apps/zendesk/actions/find-ticket/index.ts new file mode 100644 index 00000000..efbc3aec --- /dev/null +++ b/packages/backend/src/apps/zendesk/actions/find-ticket/index.ts @@ -0,0 +1,32 @@ +import defineAction from '../../../../helpers/define-action'; + +export default defineAction({ + name: 'Find ticket', + key: 'findTicket', + description: 'Finds an existing ticket.', + arguments: [ + { + label: 'Query', + key: 'query', + type: 'string' as const, + required: true, + variables: true, + description: + 'Write a search string that specifies the way we will search for the ticket in Zendesk.', + }, + ], + + async run($) { + const query = $.step.parameters.query; + + const params = { + query: `type:ticket ${query}`, + sort_by: 'created_at', + sort_order: 'desc', + }; + + const response = await $.http.get('/api/v2/search', { params }); + + $.setActionItem({ raw: response.data.results[0] }); + }, +}); diff --git a/packages/backend/src/apps/zendesk/actions/index.ts b/packages/backend/src/apps/zendesk/actions/index.ts index aaa4aafa..c5ceeda9 100644 --- a/packages/backend/src/apps/zendesk/actions/index.ts +++ b/packages/backend/src/apps/zendesk/actions/index.ts @@ -1,4 +1,5 @@ import createTicket from './create-ticket'; +import findTicket from './find-ticket'; import updateTicket from './update-ticket'; -export default [createTicket, updateTicket]; +export default [createTicket, findTicket, updateTicket]; diff --git a/packages/docs/pages/apps/zendesk/actions.md b/packages/docs/pages/apps/zendesk/actions.md index 09898903..e26a0c85 100644 --- a/packages/docs/pages/apps/zendesk/actions.md +++ b/packages/docs/pages/apps/zendesk/actions.md @@ -3,6 +3,8 @@ favicon: /favicons/zendesk.svg items: - name: Create ticket desc: Creates a new ticket. + - name: Find ticket + desc: Finds an existing ticket. - name: Update ticket desc: Modify the status of an existing ticket or append comments. ---