From 35a33ef81033e6da2310ca0a2f46fa47b7c52809 Mon Sep 17 00:00:00 2001 From: LE DURAND Matteo <matteo.le-durand@developpement-durable.gouv.fr> Date: Tue, 25 Feb 2025 14:00:51 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20les=20MergeRequest=20sont=20maintenant?= =?UTF-8?q?=20pris=20en=20compte=20uniquement=20si=20l'action=20est=20acce?= =?UTF-8?q?pt=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dev/gitlab_classique.R | 22 ++++++++++++++++++---- dev/gitlab_forge.R | 24 +++++++++++++++++++----- 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/dev/gitlab_classique.R b/dev/gitlab_classique.R index bfb98f4..023964f 100644 --- a/dev/gitlab_classique.R +++ b/dev/gitlab_classique.R @@ -129,10 +129,24 @@ get_gitlab_events <- function(base_url, project_id, private_token) { data <- data %>% mutate( project_name = as.character(project_id), - type = if_else((is.null(target_type) | target_type == "") | as.character(target_type) == "Issue" | as.character(action_name) == "joined", # remplecer par | as.ch(target-type)=="Issue" - as.character(action_name), - as.character(target_type)), - message = note.body, + + type = case_when( + is.null(target_type) | target_type == "" ~ as.character(action_name), + as.character(action_name) == "joined" ~ as.character(action_name), + TRUE ~ as.character(target_type) + ), + + message = case_when( + # Cas spécifique : MergeRequest avec action_name == "accepted" + as.character(target_type) == "MergeRequest" & as.character(action_name) == "accepted" ~ as.character(target_title), + + # Cas général : autres MergeRequest ou WikiPage::Meta + as.character(target_type) %in% c("WikiPage::Meta") ~ as.character(target_title), + + # Si ce n'est pas un cas spécial, garder note.body + TRUE ~ as.character(note.body) + ), + updated_at = created_at, author = author.username ) %>% diff --git a/dev/gitlab_forge.R b/dev/gitlab_forge.R index 87158a1..6955bc6 100644 --- a/dev/gitlab_forge.R +++ b/dev/gitlab_forge.R @@ -170,13 +170,27 @@ get_gitlab_events <- function(base_url, project_id, private_token) { data <- data %>% mutate( project_name = as.character(project_id), - type = if_else((is.null(target_type) | target_type == "") | as.character(target_type) == "Issue" | as.character(action_name) == "joined", # remplecer par | as.ch(target-type)=="Issue" - as.character(action_name), - as.character(target_type)), - message = ifelse(as.character(target_type) == "WikiPage::Meta",as.character(target_title),as.character(note.body)), + + type = case_when( + is.null(target_type) | target_type == "" ~ as.character(action_name), + as.character(action_name) == "joined" ~ as.character(action_name), + TRUE ~ as.character(target_type) + ), + + message = case_when( + # Cas spécifique : MergeRequest avec action_name == "accepted" + as.character(target_type) == "MergeRequest" & as.character(action_name) == "accepted" ~ as.character(target_title), + + # Cas général : autres MergeRequest ou WikiPage::Meta + as.character(target_type) %in% c("WikiPage::Meta") ~ as.character(target_title), + + # Si ce n'est pas un cas spécial, garder note.body + TRUE ~ as.character(note.body) + ), + updated_at = created_at, author = author.username - ) %>% + )%>% left_join(name_gitlab, by = c("project_name" = "id")) %>% mutate(project_name = name) %>% select(-name) -- GitLab