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
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Configurare lo startup di applicazioni server e client con .NET Aspire
Paginare i risultati con QuickGrid in Blazor
Ordine e importanza per @layer in CSS
Generare velocemente pagine CRUD in Blazor con QuickGrid
Creare una libreria CSS universale: Clip-path
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Migliorare l'organizzazione delle risorse con Azure Policy
Introduzione alle Container Queries
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Eseguire i worklow di GitHub su runner potenziati
I più letti di oggi
- Screencast 'Primi passi con Windows Workflow Foundation'
- .NET Conference Italia 2021 - Online
- Venite a trovarci a SMAU, dal 2 al 6 ottobre!
- Validazione dell'input in ASP.NET MVC 2
- Ignorare gli errori negli script
- Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
- Inviare un'e-mail con ASP.NET