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 di un catalogo software tramite
la sua istanza di open-catalog-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.ymlattiva 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.txtClona il repository:
git clone https://github.com/italia/publiccode-issueopener
cd publiccode-issueopenerPuoi 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-botAPI_BASEURL: L'URL di base per l'API utilizzata per recuperare gli errori nei file publiccode.yml. Defaulthttps://api.developers.italia.it/v1
I manutentori di un repository possono impedire al bot di aprire o
aggiornare issue aggiungendo la label publiccode-issueopener: disabled
a una qualsiasi issue creata dal bot. Finché quella label esiste su
almeno una issue del bot (aperta o chiusa), il repo viene saltato a
ogni run.
Per riattivarlo, basta rimuovere la label.
I contributi sono sempre benvenuti! Apri issue, fai fork del repository o invia una Pull Request.
Questo software è rilasciato con licenza EUPL-1.2. Per ulteriori dettagli, consulta il file LICENSE.
Il sistema di controllo di versione fornisce l'attribuzione delle singole righe di codice.