zhaoyingbo da1c5f7580
All checks were successful
CI Monitor CI/CD / build-image (push) Successful in 32s
CI Monitor CI/CD / deploy (push) Successful in 40s
feat: 支持对PipeLine WebHooks的处理 #1
2024-07-26 07:17:32 +00:00

21 lines
724 B
TypeScript

import managePipelineEvent from "../../controllers/managePipelineEvent"
import netTool from "../../service/netTool"
import { Gitlab } from "../../types/gitlab"
/**
* 处理管理Gitlab事件的请求。
* @param req - 请求对象。
* @returns 响应对象。
*/
export const manageGitlabEventReq = async (req: Request) => {
const apiKey = req.headers.get("x-gitlab-token")
if (!apiKey) return netTool.badRequest("x-gitlab-token is required!")
const eventType = req.headers.get("x-gitlab-event")
// 只处理流水线钩子
if (eventType === "Pipeline Hook") {
const body = (await req.json()) as Gitlab.PipelineEvent
return managePipelineEvent.sendNotifyMsg(body, apiKey)
}
return netTool.ok()
}