Created
April 17, 2025 13:30
-
-
Save PietrH/da0c64a7b2dfb1a2fddeb5fed83a6b76 to your computer and use it in GitHub Desktop.
Add old github repo releases to Zenodo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
See zenodo/zenodo#1463 (comment)