Nello script precedente abbiamo visto come poter impostare l'auto-complete di una pull request. Tra i vari parametri impostabili c'è anche la possibilità di specificare il cambio di stato di un work item associato alla pull request stessa: in questo caso, però, verrà impostato il primo stato utile nella categoria "Completed" che, spesso, è rappresentato da "Done".
Tuttavia, in base ai processi che abbiamo, potrebbe essere necessario dover impostare uno stato personalizzato. Questo non è fattibile direttamente dall'auto-complete e dalle PR in generale, ma possiamo comunque preparare un semplice script da integrare nelle pipeline per applicare lo stato che ci interessa:
function Change-PBI-State { Param( [parameter(Mandatory = $true)] [int]$Id ) $body = @( @{ op = "add" path = "/fields/System.State" value = "Done" } ) $data = ConvertTo-Json $body $url = "https://dev.azure.com/$(Organization)/$(Project)/_apis/wit/workitems/$Id`?api-version=5.1" Invoke-RestMethod $url -Method PATCH -Body $data -Headers @{Authorization=("Bearer {0}" -f $env:SYSTEM_ACCESSTOKEN);} -ContentType "application/json-patch+json" }
Il cambio di stato viene fatto direttamente tramite le API REST di Azure DevOps, con una chiamata PATCH a cui dobbiamo specificare il campo "System.State". Naturalmente, così è stato reso parametrico l'identificativo del work item da aggiornare, possiamo rendere parametrico anche lo stato da applicare. Una volta integrato lo script nella pipeline, allora tutti i work item passati in ingresso verranno cambiati di stato.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire una query su SQL Azure tramite un workflow di GitHub
Filtering sulle colonne in una QuickGrid di Blazor
Disabilitare automaticamente un workflow di GitHub (parte 2)
Creare una libreria CSS universale: i bottoni
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Installare le Web App site extension tramite una pipeline di Azure DevOps
Triggerare una pipeline su un altro repository di Azure DevOps
Criptare la comunicazione con mTLS in Azure Container Apps
Sostituire la GitHub Action di login su private registry
Gestione degli stili CSS con le regole @layer
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
I più letti di oggi
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Creare una libreria CSS universale: Cards
- Eseguire script pre e post esecuzione di un workflow di GitHub