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
Integrazione di Copilot in .NET Aspire
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Interagire con Azure DevOps tramite MCP Server
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Integrare modelli AI in un workflow di GitHub
Gestire il routing HTTP in Azure Container App
Path addizionali per gli asset in ASP.NET Core MVC
Fornire parametri ad un Web component HTML
Eseguire script pre e post esecuzione di un workflow di GitHub
Rendere i propri workflow e le GitHub Action utilizzate più sicure


