diff --git a/manifest.yml b/manifest.yml index c727ac6..e84e087 100644 --- a/manifest.yml +++ b/manifest.yml @@ -22,6 +22,11 @@ modules: - avi:forge:installed:app # Doesn't include un-installation - avi:forge:upgraded:app + - key: jira-webhook-trigger + function: webhook + events: + - jira:issue_created + - jira:issue_updated # The jira module provides functionality for Jira products. jira:issuePanel: - key: gitauto-jira-hello-world-issue-panel diff --git a/src/index.js b/src/index.js index db829e1..fd733d8 100644 --- a/src/index.js +++ b/src/index.js @@ -1 +1,2 @@ export { handler } from './resolvers'; +export { handler as webhookHandler } from './webhook'; diff --git a/src/webhook.js b/src/webhook.js index d86e126..3f758f5 100644 --- a/src/webhook.js +++ b/src/webhook.js @@ -1,6 +1,7 @@ import forge, { route } from "@forge/api"; export const handler = async (event, context) => { +import { webTrigger } from "@forge/events"; // https://developer.atlassian.com/platform/forge/events-reference/life-cycle/ console.log("Installation event payload:", event); console.log("Context:", context); @@ -60,6 +61,13 @@ export const handler = async (event, context) => { } else if (event.eventType === "avi:forge:upgraded:app") { console.log("App was upgraded!"); // Handle upgrade logic here + else if (event.webhookEvent) { + console.log("Received a webhook event:", event.webhookEvent); + // Process the webhook event here + // Example: if (event.webhookEvent === "jira:issue_created") { ... } + return { status: 200, body: "Webhook event processed" }; + } + } return { status: 200, body: "Installation event processed" };