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
Aggiornare a .NET 9 su Azure App Service
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Collegare applicazioni server e client con .NET Aspire
Triggerare una pipeline su un altro repository di Azure DevOps
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Potenziare la ricerca su Cosmos DB con Full Text Search
Migrare una service connection a workload identity federation in Azure DevOps
Utilizzare il trigger SQL con le Azure Function
Applicare un filtro per recuperare alcune issue di GitHub
Generare la software bill of material (SBOM) in GitHub
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL