Abbiamo già visto in precedenza con uno script dedicato sul canale (https://www.dopsitalia.com/script/89/Impostare-Dinamicamente-Nome-Run-Workflow-GitHub.aspx) come sia facile per un workflow di GitHub impostare un nome dinamico per la run in esecuzione.
In questo script, invece, vediamo come sia possibile gestire il titolo in base a delle variabili che vengono calcolate dinamicamente all'avvio del workflow stesso. Infatti, quando viene impostato il run-name, tutto il context di GitHub è disponibile e quindi possiamo accedere a tutte le sue proprietà che sono visibili tramite lo step:
- run: echo "$GITHUB_CONTEXT" env: GITHUB_CONTEXT: ${{ toJson(github) }}
In GitHub, non c'è una vera e propria gestione degli statement di if, ma c'è un piccolo workaround che possiamo applicare per avere qualcosa di simile:
${{ <condition> && 'ifTrue' || 'ifFalse' }}
Vediamo quindi un esempio concreto, unendo tutte le cose, di come possiamo impostare il nome di una run in base al fatto che sia eseguita manualmente o invocata tramite API:
run-name: | ${{ github.event_name == 'repository_dispatch' && 'Invocato tramite API' || github.event_name == 'workflow_dispatch' && 'Invocato manualmente' || 'Invocato con un trigger alternativo' }}
In questo modo diventa più semplice gestire più condizioni in contemporanea e impostare il titolo della run in base a queste.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Simulare Azure Cosmos DB in locale con Docker
Migliorare l'organizzazione delle risorse con Azure Policy
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Triggerare una pipeline su un altro repository di Azure DevOps
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Eseguire script pre e post esecuzione di un workflow di GitHub
Managed deployment strategy in Azure DevOps
Selettore CSS :has() e i suoi casi d'uso avanzati
Recuperare l'ultima versione di una release di GitHub
Supportare la crittografia di ASP.NET Core con Azure Container App
I più letti di oggi
- Speciale Visual Studio 2013 e .NET Framework 4.5.1: One ASP.NET, Windows 8.1, Entity Framework 6
- Visual Studio Team Foundation Beta 3 con GO! Live License
- Leggere il valore di un header della richiesta in ASP.NET Core 6
- Ricavare l'indirizzo completo della pagina che esegue lo script
- Real Code Birthday: 10 anni! - Roma