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
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Eseguire script pre e post esecuzione di un workflow di GitHub
Recuperare l'ultima versione di una release di GitHub
Effettuare il refresh dei dati di una QuickGrid di Blazor
Cancellare una run di un workflow di GitHub
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Generare una User Delegation SAS in .NET per Azure Blob Storage
Filtrare i dati di una QuickGrid in Blazor con una drop down list
.NET Conference Italia 2024
Ordine e importanza per @layer in CSS
Migliorare l'organizzazione delle risorse con Azure Policy
Utilizzare l'espressione if inline in una pipeline di Azure DevOps