Skip to content

Commit 134926b

Browse files
author
Kim Harjamaki
committed
Harden gh JSON parsing against warnings
1 parent 4f3948f commit 134926b

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

scripts/lib/Autopilot.Common.psm1

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,16 @@ function Invoke-Gh {
3535

3636
function Invoke-GhJson {
3737
param([string[]]$Args)
38-
$json = gh @Args
38+
$json = gh @Args 2>$null
3939
if (-not $json) { return $null }
40-
return $json | ConvertFrom-Json
40+
$trimmed = $json.Trim()
41+
$objIndex = $trimmed.IndexOf('{')
42+
$arrIndex = $trimmed.IndexOf('[')
43+
$start = @($objIndex, $arrIndex) | Where-Object { $_ -ge 0 } | Sort-Object | Select-Object -First 1
44+
if ($start -gt 0) {
45+
$trimmed = $trimmed.Substring($start)
46+
}
47+
return $trimmed | ConvertFrom-Json
4148
}
4249

4350
function Get-RepoName {

0 commit comments

Comments
 (0)