From c976f7b53fd47b6ff003c3df7b3ed74b595ab9e3 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Mon, 5 Sep 2022 11:00:46 +0200 Subject: [PATCH] Define webhook URL --- api.go | 1 + repositories.go | 17 +++++++++++++++++ ui/src/routes/works/[wid]/index.svelte | 2 +- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/api.go b/api.go index 7336023..22dc82a 100644 --- a/api.go +++ b/api.go @@ -14,6 +14,7 @@ func declareAPIRoutes(router *gin.Engine) { declareAPIAuthRoutes(apiRoutes) declareAPISurveysRoutes(apiRoutes) declareAPIWorksRoutes(apiRoutes) + declareCallbacksRoutes(apiRoutes) authRoutes := router.Group("") authRoutes.Use(authMiddleware(loggedUser)) diff --git a/repositories.go b/repositories.go index 66ac19a..6adfd14 100644 --- a/repositories.go +++ b/repositories.go @@ -254,6 +254,23 @@ func declareAPIAuthRepositoriesRoutes(router *gin.RouterGroup) { }) } +func declareCallbacksRoutes(router *gin.RouterGroup) { + router.POST("/callbacks/trigger.json", func(c *gin.Context) { + log.Println("Received trigger") + log.Println("X-Gitlab-Token", c.Request.Header.Get("X-Gitlab-Token")) + + tmp := map[string]interface{}{} + if err := c.ShouldBindJSON(&tmp); err != nil { + c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"errmsg": err.Error()}) + return + } + + log.Println("Content", tmp) + + c.JSON(http.StatusOK, true) + }) +} + func repositoryHandler(c *gin.Context) { var u *User if user, ok := c.Get("user"); ok { diff --git a/ui/src/routes/works/[wid]/index.svelte b/ui/src/routes/works/[wid]/index.svelte index 2860a5a..2972052 100644 --- a/ui/src/routes/works/[wid]/index.svelte +++ b/ui/src/routes/works/[wid]/index.svelte @@ -146,7 +146,7 @@
  • être dans l'espace de nom de votre utilisateur (à la fin de la liste des namespaces),
  • avoir la visibilité « Privé »,
  • avoir invité nemunaire avec le rôle Reporter une fois le dépôt créé,
  • -
  • configuré un webhook pointant sur https://lessons.nemunai.re/callback/trigger.json
  • +
  • configuré un webhook pointant sur https://lessons.nemunai.re/api/callbacks/trigger.json
  • {#if w.tag}