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
Loggare le query più lente con Entity Framework
Cancellare una run di un workflow di GitHub
Triggerare una pipeline su un altro repository di Azure DevOps
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Disabilitare automaticamente un workflow di GitHub (parte 2)
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Ordine e importanza per @layer in CSS
Generare un hash con SHA-3 in .NET
Eseguire i worklow di GitHub su runner potenziati
Creare agenti facilmente con Azure AI Agent Service