diff --git a/dev/gitlab_classique.R b/dev/gitlab_classique.R index bfb98f42cea725322ebdadaec9ef0b17d855d3f5..023964f0ebddb869a9c96b00e9dbcb75038b49af 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 87158a13962e18fab81a3ccffb98583da5e7496c..6955bc672599be3377166a209c15c5f8de239ed7 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)