diff --git a/integrations/canny/integration.definition.ts b/integrations/canny/integration.definition.ts index 7d3ec2b0614..db6ef988ab3 100644 --- a/integrations/canny/integration.definition.ts +++ b/integrations/canny/integration.definition.ts @@ -2,7 +2,7 @@ import { z, IntegrationDefinition } from '@botpress/sdk' export default new IntegrationDefinition({ name: 'canny', - version: '0.1.0', + version: '0.2.0', title: 'Canny', description: 'Connect your Botpress bot to Canny for feature request management and customer feedback collection', readme: 'hub.md', @@ -10,7 +10,6 @@ export default new IntegrationDefinition({ configuration: { schema: z.object({ apiKey: z.string().title('API Key').describe('Your Canny API key'), - defaultAuthorId: z.string().title('Default Author Id').describe('Default author Id for system messages'), }), }, channels: { diff --git a/integrations/canny/src/index.ts b/integrations/canny/src/index.ts index ce8dc5b8df9..4fe20a1ca65 100644 --- a/integrations/canny/src/index.ts +++ b/integrations/canny/src/index.ts @@ -21,9 +21,7 @@ export default new bp.Integration({ apiKey: ctx.configuration.apiKey, }) - if (!ctx.configuration.defaultAuthorId) { - throw new Error('Default author ID is required in integration configuration.') - } + // Note: We use a default Botpress user for comments/posts when no authorId is provided const boardsResult = await client.listBoards() diff --git a/integrations/linear/integration.definition.ts b/integrations/linear/integration.definition.ts index 1da6dac4a8a..45db920c4c2 100644 --- a/integrations/linear/integration.definition.ts +++ b/integrations/linear/integration.definition.ts @@ -7,7 +7,7 @@ import { actions, channels, events, configuration, configurations, user, states, export default new IntegrationDefinition({ name: 'linear', - version: '1.1.2', + version: '1.1.3', title: 'Linear', description: 'Manage your projects autonomously. Have your bot participate in discussions, manage issues and teams, and track progress.', diff --git a/integrations/linear/src/handler.ts b/integrations/linear/src/handler.ts index f09115338b7..75975e1aca4 100644 --- a/integrations/linear/src/handler.ts +++ b/integrations/linear/src/handler.ts @@ -33,7 +33,7 @@ export const handler: bp.IntegrationProps['handler'] = async ({ req, ctx, client } // ============ EVENTS ============== - if (linearEvent.type === 'issue' && linearEvent.action === 'create') { + if (linearEvent.type === 'issue' && (linearEvent.action === 'create' || linearEvent.action === 'restore')) { await fireIssueCreated({ linearEvent, client, ctx }) return } diff --git a/integrations/linear/src/misc/linear.ts b/integrations/linear/src/misc/linear.ts index 9d537d5272b..866441f3f70 100644 --- a/integrations/linear/src/misc/linear.ts +++ b/integrations/linear/src/misc/linear.ts @@ -5,7 +5,7 @@ import queryString from 'query-string' import * as bp from '.botpress' type BaseEvent = { - action: 'create' | 'update' | 'remove' + action: 'create' | 'update' | 'remove' | 'restore' type: string webhookTimestamp: number data: { @@ -27,7 +27,7 @@ export type LinearIssueEvent = { title: string updatedAt: string createdAt: string - description: string + description: string | null priority: number labels: { name: string @@ -44,7 +44,7 @@ export type LinearIssueEvent = { state: { name: string } - project: { + project?: { id: string } }