diff --git a/dev/github_extraire.R b/dev/github_extraire.R index 45ac0332c839a5f3a2cd8026681c73cfd58b669a..c70d252062ef5f72e11bb9db0dd1b3352659e629 100644 --- a/dev/github_extraire.R +++ b/dev/github_extraire.R @@ -6,9 +6,7 @@ library(DT) library(stringr) # Récupérer le token GitHub depuis l'environnement -extract_before_at <- function(email) { - sub("@.*", "", email) -} + # Fonction pour récupérer les commits d'un projet GitHub avec clé API get_github_commits <- function(repo) { url <- paste0("https://api.github.com/repos/", repo, "/commits") @@ -18,12 +16,12 @@ get_github_commits <- function(repo) { } commits <- fromJSON(content(response, "text"), flatten = TRUE) commits <- commits %>% - mutate(project_name = repo, # Ajouter le nom du projet + mutate(name = repo, # Ajouter le nom du projet type = "commit", # Spécifier le type comme "commit" message = commit.message, # Utiliser le message du commit - author = extract_before_at(commit.committer.email) , # Ajout de l'auteur + author = commit.committer.email , # Ajout de l'auteur updated_at = commit.committer.date) %>% # Date de la dernière mise à jour - select(project_name, type, message, updated_at,author) # Conserver les colonnes pertinentes + select(name, type, message, updated_at,author) # Conserver les colonnes pertinentes return(commits) } @@ -36,12 +34,12 @@ get_github_issues <- function(repo) { } issues <- fromJSON(content(response, "text"), flatten = TRUE) issues <- issues %>% - mutate(project_name = repo, # Ajouter le nom du projet + mutate(name = repo, # Ajouter le nom du projet type = "issue", # Spécifier le type comme "issue" message = title, # Utiliser le titre de l'issue author = user.login , # Ajout de l'auteur updated_at = updated_at) %>% # Date de la dernière mise à jour - select(project_name, type, message, updated_at,author) # Conserver les colonnes pertinentes + select(name, type, message, updated_at,author) # Conserver les colonnes pertinentes return(issues) } @@ -52,7 +50,7 @@ get_github_topics <- function(repo) { stop("Failed to fetch topics from GitHub API for repo: ", repo) } topics <- fromJSON(content(response, "text"), flatten = TRUE)$names - return(data.frame(project_name = repo, topics = paste(topics, collapse = ", "))) # Combine topics en une chaîne unique + return(data.frame(name = repo, topics = paste(topics, collapse = ", "))) # Combine topics en une chaîne unique } @@ -152,11 +150,11 @@ get_github_topics <- function(repo) { commits_analyse_spatiale, issues_analyse_spatiale ) combined_data <- combined_data %>% - left_join(topics_list, by = "project_name") %>% + left_join(topics_list, by = "name") %>% mutate(origine = "Github", groupe = case_when( - str_detect(project_name, "parcours_r") ~ "r-formation", - str_detect(project_name, "spyrales") ~ "spyrales", + str_detect(name, "parcours_r") ~ "r-formation", + str_detect(name, "spyrales") ~ "spyrales", TRUE ~ "autre" )) %>% unique()