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 query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Miglioramenti nelle performance di Angular 16
.NET Conference Italia 2023
Eseguire una query su SQL Azure tramite un workflow di GitHub
Reactive form tipizzati con FormBuilder in Angular
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Utilizzare gli snapshot con Azure File shares
Creare un'applicazione React e configurare Tailwind CSS
Configurare policy CORS in Azure Container Apps
Disabilitare automaticamente un workflow di GitHub (parte 2)
Eseguire una GroupBy per entity in Entity Framework