Skip to content

Instantly share code, notes, and snippets.

@PietrH
Created April 17, 2025 13:30
Show Gist options
  • Save PietrH/da0c64a7b2dfb1a2fddeb5fed83a6b76 to your computer and use it in GitHub Desktop.
Save PietrH/da0c64a7b2dfb1a2fddeb5fed83a6b76 to your computer and use it in GitHub Desktop.
Add old github repo releases to Zenodo
repo <- "my_org/my_repo"
zenodo_token <- "token from url in webhook page of repo"
repo_response <-
httr2::request("https://api.github.com/repos") %>%
httr2::req_url_path_append(repo) %>%
httr2::req_perform() %>%
httr2::resp_body_json()
release_response <-
httr2::request("https://api.github.com/repos") %>%
httr2::req_url_path_append(repo) %>%
httr2::req_url_path_append("releases") %>%
httr2::req_perform() %>%
httr2::resp_body_json()
# reverse the order so the oldest release is deposited first
for (current_release in rev(release_response)) {
payload <-
list(
action = "published",
release = current_release,
repository = repo_response
)
# submit new release to zenodo --------------------------------------------
httr2::request("https://zenodo.org/api/hooks/receivers/github/events/") %>%
httr2::req_url_query(access_token = zenodo_token) %>%
httr2::req_body_json(payload) %>%
httr2::req_perform()
Sys.sleep(5)
}
@PietrH
Copy link
Author

PietrH commented Apr 17, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment