diff --git a/packages/integration-sdk-core/src/types/synchronization.ts b/packages/integration-sdk-core/src/types/synchronization.ts index b0a8b8963..d412d6c96 100644 --- a/packages/integration-sdk-core/src/types/synchronization.ts +++ b/packages/integration-sdk-core/src/types/synchronization.ts @@ -7,6 +7,7 @@ export enum SynchronizationJobStatus { FINISHED = 'FINISHED', UNKNOWN = 'UNKNOWN', ERROR_BAD_DATA = 'ERROR_BAD_DATA', + ABORTED_DUE_TO_INVALID_CONFIGURATION = 'ABORTED_DUE_TO_INVALID_CONFIGURATION', } export interface SynchronizationJob { diff --git a/packages/integration-sdk-runtime/src/synchronization/index.ts b/packages/integration-sdk-runtime/src/synchronization/index.ts index c82a0d0d2..f2ae9946d 100644 --- a/packages/integration-sdk-runtime/src/synchronization/index.ts +++ b/packages/integration-sdk-runtime/src/synchronization/index.ts @@ -7,6 +7,7 @@ import { PartialDatasets, Relationship, SynchronizationJob, + SynchronizationJobStatus, } from '@jupiterone/integration-sdk-core'; import { AxiosError } from 'axios'; @@ -569,6 +570,7 @@ export async function uploadData( interface AbortSynchronizationInput extends SynchronizationJobContext { reason?: string; + terminalStatus?: SynchronizationJobStatus; } /** * Aborts a synchronization job @@ -578,15 +580,19 @@ export async function abortSynchronization({ apiClient, job, reason, + terminalStatus, }: AbortSynchronizationInput) { - logger.info('Aborting synchronization job...'); + logger.info( + { integrationJobId: job.id, reason, terminalStatus }, + 'Aborting synchronization job...', + ); let abortedJob: SynchronizationJob; try { const response = await apiClient.post( `/persister/synchronization/jobs/${job.id}/abort`, - { reason }, + { reason, terminalStatus }, ); abortedJob = response.data.job; } catch (err) {