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
Creare un webhook in Azure DevOps
Eseguire query in contemporanea con EF
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Triggerare una pipeline su un altro repository di Azure DevOps
Utilizzare Azure AI Studio per testare i modelli AI
Gestione CSS in Blazor con .NET 9
Selettore CSS :has() e i suoi casi d'uso avanzati
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Recuperare l'ultima versione di una release di GitHub
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Generare una User Delegation SAS in .NET per Azure Blob Storage