diff --git a/packages/backend/src/apps/better-stack/actions/acknowledge-incident/index.js b/packages/backend/src/apps/better-stack/actions/acknowledge-incident/index.js new file mode 100644 index 00000000..52894d9f --- /dev/null +++ b/packages/backend/src/apps/better-stack/actions/acknowledge-incident/index.js @@ -0,0 +1,43 @@ +import defineAction from '../../../../helpers/define-action.js'; + +export default defineAction({ + name: 'Acknowledge incident', + key: 'acknowledgeIncident', + description: 'Acknowledges an incident.', + arguments: [ + { + label: 'Incident ID', + key: 'incidentId', + type: 'string', + required: true, + variables: true, + description: + 'This serves as the incident ID that requires your acknowledgment.', + }, + { + label: 'Acknowledged by', + key: 'acknowledgedBy', + type: 'string', + required: false, + variables: true, + description: + "This refers to the individual's name, email, or another form of identification that the person who acknowledged the incident has provided.", + }, + ], + + async run($) { + const acknowledgedBy = $.step.parameters.acknowledgedBy; + const incidentId = $.step.parameters.incidentId; + + const body = { + acknowledged_by: acknowledgedBy, + }; + + const response = await $.http.post( + `/v2/incidents/${incidentId}/acknowledge`, + body + ); + + $.setActionItem({ raw: response.data.data }); + }, +}); diff --git a/packages/backend/src/apps/better-stack/actions/index.js b/packages/backend/src/apps/better-stack/actions/index.js new file mode 100644 index 00000000..39f4a03a --- /dev/null +++ b/packages/backend/src/apps/better-stack/actions/index.js @@ -0,0 +1,3 @@ +import acknowledgeIncident from './acknowledge-incident/index.js'; + +export default [acknowledgeIncident]; diff --git a/packages/backend/src/apps/better-stack/index.js b/packages/backend/src/apps/better-stack/index.js index 2eba4578..71faa1c8 100644 --- a/packages/backend/src/apps/better-stack/index.js +++ b/packages/backend/src/apps/better-stack/index.js @@ -1,6 +1,7 @@ import defineApp from '../../helpers/define-app.js'; import addAuthHeader from './common/add-auth-header.js'; import auth from './auth/index.js'; +import actions from './actions/index.js'; export default defineApp({ name: 'Better Stack', @@ -13,4 +14,5 @@ export default defineApp({ primaryColor: '000000', beforeRequest: [addAuthHeader], auth, + actions, }); diff --git a/packages/docs/pages/.vitepress/config.js b/packages/docs/pages/.vitepress/config.js index edc52186..181b2bcd 100644 --- a/packages/docs/pages/.vitepress/config.js +++ b/packages/docs/pages/.vitepress/config.js @@ -37,6 +37,7 @@ export default defineConfig({ collapsible: true, collapsed: true, items: [ + { text: 'Actions', link: '/apps/better-stack/actions' }, { text: 'Connection', link: '/apps/better-stack/connection' }, ], }, diff --git a/packages/docs/pages/apps/better-stack/actions.md b/packages/docs/pages/apps/better-stack/actions.md new file mode 100644 index 00000000..d6d8092c --- /dev/null +++ b/packages/docs/pages/apps/better-stack/actions.md @@ -0,0 +1,12 @@ +--- +favicon: /favicons/better-stack.svg +items: + - name: Acknowledge incident + desc: Acknowledges an incident. +--- + + + + diff --git a/packages/docs/pages/guide/available-apps.md b/packages/docs/pages/guide/available-apps.md index 90f8ba0a..a5402b47 100644 --- a/packages/docs/pages/guide/available-apps.md +++ b/packages/docs/pages/guide/available-apps.md @@ -2,6 +2,7 @@ The following integrations are currently supported by Automatisch. +- [Better Stack](/apps/better-stack/actions) - [Carbone](/apps/carbone/actions) - [DeepL](/apps/deepl/actions) - [Delay](/apps/delay/actions)