Le custom property in GitHub sono uno strumento molto utile perché ci consentono di applicare dei metadati su tutti i repository dell'organizzazione, per fare in modo che questi rispettino determinati requisiti di compliance o di protezione dei dati. Per esempio, una regola generale potrebbe essere quella di bloccare il push diretto sul branch main, così che immediatamente, tramite un ruleset, leggendo la custom property saremo obbligati a creare una pull request per pubblicare dei nuovi commit all'interno del branch principale, forzandoci nel seguire delle convenzioni per tutta l'organizzazione.
Possiamo creare una nuova custom property direttamente sfruttando la CLI di GitHub:
gh api --method PATCH -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/OWNER/REPO/properties/values -f "properties[][property_name]=can-push-on-main" -f "properties[][value]=false"
A questo punto, ci sarà sufficiente creare un ruleset dove il target è "repositories", e dove includiamo una lista dinamica di property, tra cui l'appena creata can-push-on-main. Questo ci serve perchè così, eventualmente, qualche repository può richiedere l'esclusione della regola, bypassandola, impostandosi la property a "true" in autonomia (e con i permessi necessari).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare una User Delegation SAS in .NET per Azure Blob Storage
Ridurre il reflow ottimizzando il CSS
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Scrivere selettori CSS più semplici ed efficienti con :is()
Recuperare le subissue e il loro stato di completamento in GitHub
Simulare Azure Cosmos DB in locale con Docker
Triggerare una pipeline su un altro repository di Azure DevOps
Migliorare l'organizzazione delle risorse con Azure Policy
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Gestione file Javascript in Blazor con .NET 9
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Eseguire script pre e post esecuzione di un workflow di GitHub