publiccode-issueopener
April 8, 2026 · View on GitHub
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.
🚀 Funzionalità
- 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.
💻 Per iniziare
Prerequisiti
- Python 3.6 o superiore
Installa le librerie Python richieste con pip:
pip install -r requirements.txt
Installazione
Clona il repository:
git clone https://github.com/italia/publiccode-issueopener
cd publiccode-issueopener
🎮 Uso
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.
Variabili d'ambiente
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
Opt-out
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.
🤝 Contribuire
I contributi sono sempre benvenuti! Apri issue, fai fork del repository o invia una Pull Request.
🔗 Progetti correlati
👥 Manutentori
Questo software è mantenuto dal team di Developers Italia.
📄 Licenza
Copyright© 2022-presente - Presidenza del Consiglio dei Ministri
Questo software è rilasciato con licenza EUPL-1.2. Per ulteriori dettagli, consulta il file LICENSE.