From bce0bf76f46109766e749cc6563d30f20f8f8ce9 Mon Sep 17 00:00:00 2001 From: LE DURAND Matteo <matteo.le-durand@developpement-durable.gouv.fr> Date: Thu, 13 Feb 2025 10:57:01 +0100 Subject: [PATCH] changment : recup des projets avec page car il manquait des anciens projets --- dev/gitlab_forge.R | 46 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/dev/gitlab_forge.R b/dev/gitlab_forge.R index 3f6147a..c9baf8c 100644 --- a/dev/gitlab_forge.R +++ b/dev/gitlab_forge.R @@ -10,18 +10,44 @@ set_gitlab_connection( private_token = Sys.getenv("GITLAB_COM_TOKEN") ) -response <- GET( - "https://gitlab-forge.din.developpement-durable.gouv.fr/api/v4/groups/1013/projects", - add_headers(`PRIVATE-TOKEN` = Sys.getenv("GITLAB_COM_TOKEN")), - query = list( - include_subgroups = "true", - per_page = 1000 - ), - timeout(120) # Timeout augmenté pour les projets -) +response <- data.frame() +# on charge les projets du groupe CSD +buildres <- function(i){ + res_proj100 <- GET( + "https://gitlab-forge.din.developpement-durable.gouv.fr/api/v4/groups/1013/projects", + add_headers(`PRIVATE-TOKEN` = Sys.getenv("GITLAB_COM_TOKEN")), + query = list( + include_subgroups = "true", + per_page = 100, + page = i + ), + timeout(120) # Timeout augmenté pour les projets + ) + res <- content(res_proj100, as = "text", encoding = "UTF-8") %>% fromJSON() + return(res) +} +#on réalise une boucle si plus de 100 projets +x <- 1 +repeat { + res <- buildres(x) + if (length(res) == 0) { + break + } + response <- bind_rows(response, res) + x <- x + 1 +} +# response <- GET( +# "https://gitlab-forge.din.developpement-durable.gouv.fr/api/v4/groups/1013/projects", +# add_headers(`PRIVATE-TOKEN` = Sys.getenv("GITLAB_COM_TOKEN")), +# query = list( +# include_subgroups = "true", +# per_page = 1000 +# ), +# timeout(120) # Timeout augmenté pour les projets +# ) # Parse the JSON content -projects <- content(response, as = "text", encoding = "UTF-8") %>% fromJSON() +projects <- response # Extract the project IDs project_ids <- projects$id -- GitLab