Nello script precedente (#18) qui su dopsitalia.com, abbiamo visto come poter aggiornare lo stato di un work item tramite le REST API così che, ad esempio, possiamo automaticamente mettere stati personalizzati al verificarsi di terminate condizioni (pull request in progress, pull request completata, codice rilasciato e così via). In uno scenario simile, potremmo aver bisogno anche di applicare dei tag per specificare, per esempio, in quale ambiente è stato deployato un work item specifico: i tag, infatti, sono ottimi per poter eseguire delle query in Azure DevOps e, quindi, sono comodi per recuperare informazioni aggregate.
Per aggiungere un tag, possiamo nuovamente utilizzare le REST API di Azure DevOps ed invocare dalle nostre pipeline uno script di PowerShell come il seguente:
function Add-Tag { Param( [Parameter(Mandatory = $true)] [Int]$WorkItemId, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [String]$TagName ) $body = @( @{ op = "add" path = "/fields/System.Tags" value = "$TagName" } ) $data = ConvertTo-Json $body $url = "https://dev.azure.com/$(Organization)/_apis/wit/workitems/$WorkItemId`?api-version=5.1" Invoke-RestMethod $url -Method PATCH -Body $data -Headers @{Authorization=("Bearer {0}" -f $env:SYSTEM_ACCESSTOKEN);} -ContentType "application/json-patch+json" }
Poiché il verb HTTP dell'API specificata è PATCH, ci basterà cambiare l'operation (op) da add a remove per ottenere, invece, l'effetto opposto, ovvero la rimozione di un tag specificato come parametro di input allo script.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Disabilitare automaticamente un workflow di GitHub (parte 2)
Usare un KeyedService di default in ASP.NET Core 8
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Eseguire attività con Azure Container Jobs
Migrare una service connection a workload identity federation in Azure DevOps
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Sfruttare lo streaming di una chiamata Http da Blazor
Utilizzare il trigger SQL con le Azure Function
Creare form tipizzati con Angular
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Utilizzare i primary constructor di C# per inizializzare le proprietà
I più letti di oggi
- I nuovi metodi degli array di ECMAScript 5
- Evitare (o ridurre) il repo-jacking sulle GitHub Actions
- Un custom control BoundField con dropdownlist
- .NET Core 3, C#8 and beyond
- Utilizzare long polling in HTML5 per richieste in real time
- Utilizzare le shortcut da tastiera con KeyboardAccelerator nella Universal Windows Platform
- Microsoft Security Bulletin MS05-048