fix: gitlab webhooks

This commit is contained in:
Andras Bacsai 2022-09-01 13:58:27 +02:00
parent 219f1f9f3f
commit 290dbc43cb

View File

@ -2,7 +2,7 @@ import axios from "axios";
import cuid from "cuid"; import cuid from "cuid";
import crypto from "crypto"; import crypto from "crypto";
import type { FastifyReply, FastifyRequest } from "fastify"; import type { FastifyReply, FastifyRequest } from "fastify";
import { errorHandler, getAPIUrl, isDev, listSettings, prisma } from "../../../lib/common"; import { errorHandler, getAPIUrl, getUIUrl, isDev, listSettings, prisma } from "../../../lib/common";
import { checkContainer, removeContainer } from "../../../lib/docker"; import { checkContainer, removeContainer } from "../../../lib/docker";
import { getApplicationFromDB, getApplicationFromDBWebhook } from "../../api/v1/applications/handlers"; import { getApplicationFromDB, getApplicationFromDBWebhook } from "../../api/v1/applications/handlers";
@ -29,7 +29,7 @@ export async function configureGitLabApp(request: FastifyRequest<ConfigureGitLab
}); });
const { data } = await axios.post(`${htmlUrl}/oauth/token`, params) const { data } = await axios.post(`${htmlUrl}/oauth/token`, params)
if (isDev) { if (isDev) {
return reply.redirect(`${getAPIUrl()}/webhooks/success?token=${data.access_token}`) return reply.redirect(`${getUIUrl()}/webhooks/success?token=${data.access_token}`)
} }
return reply.redirect(`/webhooks/success?token=${data.access_token}`) return reply.redirect(`/webhooks/success?token=${data.access_token}`)
} catch ({ status, message, ...other }) { } catch ({ status, message, ...other }) {
@ -43,7 +43,7 @@ export async function gitLabEvents(request: FastifyRequest<GitLabEvents>) {
const allowedActions = ['opened', 'reopen', 'close', 'open', 'update']; const allowedActions = ['opened', 'reopen', 'close', 'open', 'update'];
const webhookToken = request.headers['x-gitlab-token']; const webhookToken = request.headers['x-gitlab-token'];
if (!webhookToken) { if (!webhookToken && !isDev) {
throw { status: 500, message: 'Invalid webhookToken.' } throw { status: 500, message: 'Invalid webhookToken.' }
} }
if (objectKind === 'push') { if (objectKind === 'push') {