functions/Connect-AzureDevOps.ps1
|
function Connect-AzureDevOps { param( [Parameter(Mandatory)] [string]$OrganizationUrl, [Parameter(Mandatory)] [string]$PersonalAccessToken ) $connected = $false $OrganizationUrl = $OrganizationUrl.TrimEnd('/').Trim().ToLower() $uri = ('{0}/_apis/projects?api-version=7.1' -f $OrganizationUrl) $method = 'GET' $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$PersonalAccessToken")) $authHeaderValue = "Basic $base64AuthInfo" $headers = @{ "Authorization" = $authHeaderValue "Content-Type" = "application/json" } $response = $null try { $response = Invoke-WebRequest -Uri $uri -Method $method -Headers $headers -UseBasicParsing } catch { $response = $null } if (($response -ne $null) -and ($response.StatusCode -eq 200)) { $connected = $true $script:AzureDevOpsAuthHeaderValue = $authHeaderValue $script:AzureDevOpsOrgUrl = $OrganizationUrl } return $connected } |