21 lines
656 B
Bash
21 lines
656 B
Bash
|
#/!/bin/bash
|
||
|
|
||
|
# Gets the 100 most recently starred repositories of $GITHUB_USER, and creates Mirrors on $FORGEJO_URL
|
||
|
# Dependencies: jq & curl
|
||
|
# env vars:
|
||
|
# GITHUB_USER
|
||
|
# FORGEJO_USER
|
||
|
# FORGEJO_TOKEN (password or api token)
|
||
|
# FORGEJO_URL
|
||
|
|
||
|
curl https://api.github.com/users/$GITHUB_USER/starred\?per_page\=100\&page\=1 |
|
||
|
jq -r '.[] | [.name, .html_url] | @tsv' |
|
||
|
while i=$'\t' read -r name url; do
|
||
|
curl \
|
||
|
-u $FORGEJO_USER:$FORGEJO_TOKEN \
|
||
|
-X POST \
|
||
|
-H "Content-Type: application/json" \
|
||
|
--data "{\"clone_addr\": \"$url\", \"repo_name\": \"$name\", \"mirror\": true, \"repo_owner\": \"Mirrors\"}" \
|
||
|
$FORGEJO_URL/api/v1/repos/migrate
|
||
|
done
|