Files
outline/plugins/github/server/tasks/GitHubWebhookTask.ts
Hemachandar 7d315288dd Listen to GitHub webhooks to update issueSources cache (#9414)
* Listen to GitHub webhooks to update issue-sources cache

* Add `GitHubWebhookTask`

* review
2025-07-15 23:07:14 -04:00

27 lines
686 B
TypeScript

import { IntegrationService } from "@shared/types";
import BaseTask from "@server/queues/tasks/BaseTask";
import { Hook, PluginManager } from "@server/utils/PluginManager";
type Props = {
headers: Record<string, unknown>;
payload: Record<string, unknown>;
};
export default class GitHubWebhookTask extends BaseTask<Props> {
public async perform({ headers, payload }: Props): Promise<void> {
const plugins = PluginManager.getHooks(Hook.IssueProvider);
const plugin = plugins.find(
(p) => p.value.service === IntegrationService.GitHub
);
if (!plugin) {
return;
}
await plugin.value.handleWebhook({
headers,
payload,
});
}
}