Inglese | Italiano
publiccode-issueopener è un bot di automazione in Python progettato per
garantire la correttezza dei file publiccode.yml
nei repository GitHub.
Questo bot ottiene l'elenco dei repository nel [catalogo del software italiano]
(https://developers.italia.it/it/search) tramite
developers-italia-api, controlla
la validità di file publiccode.yml
per errori, li stampa e apre issue sui relativi
repo GitHub.
Ciò contribuisce a mantenere alta la qualità dei metadati del catalogo del software, per garantire una condivisione e un riutilizzo fluidi del codice pubblico tra diversi enti.
- Generazione automatica di problemi: Qualsiasi errore rilevato nel file
publiccode.yml
attiva automaticamente la creazione di issue GitHub. - Conformità publiccode.yml: Garantisce che i file publiccode.yml aderiscano allo Standard definito dallo schema di publiccode.yml.
- Python 3.6 o superiore
Installa le librerie Python richieste con pip:
pip install -r requirements.txt
Clona il repository:
git clone https://github.com/italia/publiccode-issueopener
cd publiccode-issueopener
Puoi eseguire lo script con:
./publiccode-issueopener.py [--since NUMERO_DI_GIORNI]
L'opzione --since
definisce il numero di giorni passati da analizzare nei log.
Di default, lo script controlla i log del giorno precedente per eventuali errori
nel publiccode.yml.
Per utilizzare il bot, dovrai impostare alcune variabili d'ambiente nel tuo sistema:
BOT_GITHUB_TOKEN
: (obbligatorio) Il token GitHub per il bot, usato per autenticarsi quando apre issue nei repositoryGITHUB_USERNAME
: Il nome utente del bot GitHub che aprirà i problemi. Defaultpubliccode-validator-bot
API_BASEURL
: L'URL di base per l'API utilizzata per recuperare gli errori nei file publiccode.yml. Defaulthttps://api.developers.italia.it/v1
I contributi sono sempre benvenuti! Apri issue, fai fork del repository o invia una Pull Request.
Questo software è mantenuto dal team di Developers Italia.
Copyright© 2022-presente - Presidenza del Consiglio dei Ministri
Questo software è rilasciato con licenza EUPL-1.2. Per ulteriori dettagli, consulta il file LICENSE
.