AzureDevOps.Common/Public/Invoke-AzureDevOpsRestMethod.ps1
function Invoke-AzureDevOpsRestMethod { <# .SYNOPSIS Invokes an Azure DevOps REST API method. .DESCRIPTION Invokes an Azure DevOps REST API method using the account details previously saved by Add-AzureDevOpsAccount. .PARAMETER PartialUrl The partial URL for the Azure DevOps REST API endpoint. .PARAMETER Method The method to use when invoking the Azure DevOps REST API. .PARAMETER Body The request body to use when invoking the Azure DevOps REST API. .EXAMPLE Invoke-AzureDevOpsRestMethod -PartialUrl "/distributedtask/variablegroups/?api-version=4.1-preview.1" -Method "Get" #> param ( [string]$PartialUri, [string]$Method = "Get", [string]$Body = "" ) if(-not $AzureDevOpsAccount) { throw "Please run Add-AzureDevOpsAccount to connect to Azure DevOps."; } $uri = "$($AzureDevOpsAccount.BaseApiUrl)/$PartialUri"; if($Method -eq "Get") { $result = Invoke-RestMethod -Uri $uri -Method $Method -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $AzureDevOpsAccount.AuthorizationHeader)} } else { $result = Invoke-RestMethod -Uri $uri -Method $Method -Body $Body -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $AzureDevOpsAccount.AuthorizationHeader)} } return $result; } |