Module/DevOps/Get-BCSDevOpsPipelineRunLogs.ps1
<#
.SYNOPSIS Get a DevOps Pipeline run .DESCRIPTION Gets information about a specific pipelines run .PARAMETER organisation DevOps Organisation Name, Default BrightComSolutions .PARAMETER projectName DevOps Project Name .PARAMETER pipelineId DevOps Pipeline Id .PARAMETER sourcePat DevOps Pwesonal Access Token. .EXAMPLE Get-BCSDevOpsPipelines -projectName "MyProjectName" -sourcePat (Get-BCSSecureString -InputString "MyDevOpsPat") .NOTES Author: Mathias Stjernfelt Website: http://www.brightcom.se #> function Get-BCSDevOpsPipelineRunLogs { Param ( [Parameter(Mandatory = $false)] [string]$organisation = "BrightComSolutions", [Parameter(Mandatory = $true)] [string]$projectName, [Parameter(Mandatory = $true)] [string]$pipelineId, [Parameter(Mandatory = $true)] [string]$runId, [Parameter(Mandatory = $true)] [securestring]$sourcePat ) try { $fullOrgUrl = "https://dev.azure.com/$organisation"; $Pat = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($sourcePat)) $encodedPat = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(":$pat")) $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add("Authorization", "Basic $encodedPat") $headers.Add("Accept", "application/json") $headers.Add("Accept-Charset", "utf-8") #GET https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineId}/runs/{runId}/logs?api-version=7.2-preview.1 $url = [uri]::EscapeUriString("$fullOrgUrl/$projectName/_apis/pipelines/$pipelineId/runs/$runId/logs?api-version=7.2-preview.1") $response = Invoke-RestMethod $url -Method 'GET' -Headers $headers $response } catch { throw $_.Exception; } } Export-ModuleMember -Function Get-BCSDevOpsPipelineRunLogs |