$FX_USER=$args[0]
$FX_PWD=$args[1]
$FX_JOBID=$args[2]
$REGION=$args[3]
$TAGS=$args[4]
$SUITES=$args[5]
$CATEGORIES=$args[6]
$FX_HOST=$args[7]
$taskStatus="WAITING"
Write-Host "taskStatus = " $taskStatus
while ( ("$taskStatus" -eq "WAITING") -or ("$taskStatus" -eq "PROCESSING") )
{
sleep 5
Write-Host "Checking Status...."
$passPercent=$(curl -k --header "Content-Type: application/json;charset=UTF-8" -X GET -u ""${FX_USER}":"${FX_PWD}"" ""${FX_HOST}"/api/v1/runs/${runId}" | jq -r '."data"|.ciCdStatus')
$array = $passPercent | ConvertFrom-Json
$taskStatus="${array[0]}"
Write-Host "task-status= $taskStatus"
Write-Host "Status =" "${array[0]}" " Success Percent =" "${array[1]}" " Total Tests =" "${array[2]}" " Time Taken =" "${array[4]}" " Run =" "${array[5]}"
PowerShell のこのコードを実行すると、コンソール出力から次のエラーが発生しました。
ConvertFrom-Json: 無効な JSON プリミティブ: 待機中。C:\Users\Administrator\test.ps1:57 char:45 + $array = $passPercent | ConvertFrom-Json + ~~~~~~~~~~~~~~~~~ + CategoryInfo: NotSpecified: (:) [ConvertFrom-Json]、ArgumentException + FullyQualifiedErrorId: System.ArgumentException、Microsoft.PowerShell.Commands.ConvertFromJsonCommand
ステータス = 成功率 = 合計テスト数 = 所要時間 = 実行 =
ステータス=完了などのフィールドの上の部分に=signを付けた後に、文字列または整数で値を取得する必要があります。誰か助けていただけませんか。緊急です。よろしくお願いします。