functions/Update-AzureDevOpsWorkItemState.ps1
|
function Update-AzureDevOpsWorkItemState { param ( [string]$OrganizationName, [string]$PersonalAccessToken, [int]$WorkItemId, [string]$NewState ) $uri = ('https://dev.azure.com/{0}/_apis/wit/workitems/{1}?api-version=5.1' -f $organizationName, $workItemId) $headers = @{ Authorization = "Basic " + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($PersonalAccessToken)")) 'Content-Type' = 'application/json-patch+json' } $bodyObj = @( @{ from = $null; op = 'add'; path = '/fields/System.State'; value = $NewState } ) $body = ConvertTo-Json -InputObject $bodyObj -Depth 100 $response = Invoke-WebRequest -Uri $uri -Method 'PATCH' -Body $body -Headers $headers -UseBasicParsing return ($response.StatusCode -eq 200) } |