Closed pigreco closed 2 years ago
modificando leggermente il ciclo, in particolare sostituendo a $i
questo '"$i"'
nella terza riga:
#/bin/bash
for i in 2021-01-31 2021-02-28 2021-03-31 2021-04-30 2021-05-31 2021-06-30 2021-07-31 2021-08-31 2021-09-30 2021-10-31 2021-11-30 2021-12-31 2022-01-31 2022-02-28 2022-03-31 2022-01-31 2022-02-28 2022-03-31
do
tot=$(curl 'https://api.github.com/search/issues?q=repo:qgis/QGIS+type:issue+created:<'"$i"'+state:open+label:bug&per_page=1' | grep -m 1 total_count | sed 's/,//' | sed 's/ //')
echo $i,$tot >>toto.csv
done
ottengo:
2021-01-31,"total_count": 693
2021-02-28,"total_count": 720
2021-03-31,"total_count": 749
2021-04-30,"total_count": 775
2021-05-31,"total_count": 795
2021-06-30,"total_count": 826
2021-07-31,"total_count": 864
2021-08-31,"total_count": 900
2021-09-30,"total_count": 935
2021-10-31,"total_count": 975
2021-11-30,
2021-12-31,
2022-01-31,
2022-02-28,
2022-03-31,
2022-01-31,
2022-02-28,
2022-03-31,
perché mancano alcuni valori? i valori in corrispondenza di quelle date ci sono, ma il ciclo non li aggiunge, boh!
forse è dovuto al fatto che curl
solleva un errore?
Caro @pigreco per usare le API, senza autenticarsi, ci sono dei limiti.
{"message":"API rate limit exceeded for 151.63.233.24. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}
Penso dipenda da questo. Se hai difficoltà a capire come fare, fischia
@aborruso
senza autenticarsi, ci sono dei limiti.
vero, sembra funzionare autenticandosi, ma mi chiede enne volte la password, improponibile
vero, sembra funzionare autenticandosi, ma mi chiede enne volte la password, improponibile
Totò sbaglierai qualcosa nella procedura. È github, non è il sito di mio cugino :)
@aborruso forse ho capito, occorre creare un token [1], non vale la pena per questo caso, procedo manualmente.
grazie
È straordinaria l'utility nativa a riga di comando. Qui l'eseguibile per tutte le versioni https://github.com/cli/cli/releases/tag/v2.8.0
Una volta installata devi attivare l'autenticazione (si fa una volta).
E poi diventa facile facile
#!/bin/bash
if [ -f ./toto.jsonl ]; then
rm ./toto.jsonl
fi
for i in 2021-01-31 2021-02-28 2021-03-31 2021-04-30 2021-05-31 2021-06-30 2021-07-31 2021-08-31 2021-09-30 2021-10-31 2021-11-30 2021-12-31 2022-01-31 2022-02-28 2022-03-31 2022-01-31 2022-02-28 2022-03-31; do
gh api -X GET search/issues -f q='repo:qgis/QGIS type:issue created:<'"$i"' state:open label:bug ' | jq -c '{data:"'"$i"'",count:.total_count}' >> ./toto.jsonl
done
E hai questo (si apre con Visidata, Miller, ecc.)
{"data":"2021-01-31","count":693}
{"data":"2021-02-28","count":720}
{"data":"2021-03-31","count":749}
{"data":"2021-04-30","count":775}
{"data":"2021-05-31","count":795}
{"data":"2021-06-30","count":826}
{"data":"2021-07-31","count":864}
{"data":"2021-08-31","count":900}
{"data":"2021-09-30","count":935}
{"data":"2021-10-31","count":975}
{"data":"2021-11-30","count":1022}
{"data":"2021-12-31","count":1055}
{"data":"2022-01-31","count":1095}
{"data":"2022-02-28","count":1151}
{"data":"2022-03-31","count":1249}
{"data":"2022-01-31","count":1095}
{"data":"2022-02-28","count":1151}
{"data":"2022-03-31","count":1249}
@aborruso per favore, e senza fretta:
potresti descrivere:
io non riesco anche leggendo la documentazione
grazie
gh
sotto Ubuntuho utilizzato questa guida:
ovvero:
# scarico la versione attuale v2.8.0
wget https://github.com/cli/cli/releases/download/v2.8.0/gh_2.8.0_linux_amd64.tar.gz
# unzippo
tar xvf gh_2.8.0_linux_amd64.tar.gz
# copio il file binario dentro /usr/local/bin/
sudo cp gh_2.8.0_linux_amd64/bin/gh /usr/local/bin/
# copio il manuale
sudo cp -r gh_2.8.0_linux_amd64/share/man/man1/* /usr/share/man/man1/
digitare nella shell:
gh auth login
grazie per il supporto @aborruso
ricetta fatta e pubblicata https://tansignari.opendatasicilia.it/ricette/git/conteggio_issue_bug/
Nella mia mente dovrebbe funzionare bene questo script bash, ma alcune volte il file di output non è popolato correttamente, ovvero, il secondo campo è vuoto; altre volte lo popola a metà, boh!
io mi aspetterei:
lanciandoli singolarmente (come sotto), ottengo i numeri attesi, perché se messo in un ciclo non va?