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
Migliorare la sicurezza dei prompt con Azure AI Studio
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Triggerare una pipeline su un altro repository di Azure DevOps
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Applicare un filtro per recuperare alcune issue di GitHub
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Proteggere le risorse Azure con private link e private endpoints
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Eseguire script pre e post esecuzione di un workflow di GitHub
Aggiornare a .NET 9 su Azure App Service