Powershell - как разобрать ответ - PullRequest
1 голос
/ 02 июля 2019

Все, я новичок в powershell и пытаюсь создать простой скрипт powershell, который вызывает REST API и получает значение.

Сценарий таков: использование powershell вызовет запрос POST и получит значение ответа, а затем использует это значение в качестве параметра в другом запросе GET API.

POST:

$Params = @{"id"=38}
$headers = @{
Authorization="Bearer XXXXXX"



$getrunid=Invoke-RestMethod -Method Post -Uri https://abctech.com/api/2.0/run 
-Body ($Params|ConvertTo-Json) -ContentType application/json -Headers 
$headers

Ответ будет 2 значения. Например, id = 10, очередь = 15

Сейчас я принимаю только ответный идентификатор.

GET:

$getrunidvalue=$getrunid.id

$getcheck=Invoke-RestMethod -Method Get -Uri 
https://abctect.com/api/2.0/jobs/runs/get?id=$getrunidvalue -ContentType 
application/json -Headers $headers

echo $getcheck

Это дает результат, как показано ниже.

id1                  : 38
run_id                  : 1
number_in_job           : 6
original_attempt_run_id : 217
state                   : @{life_cycle_state=TERMINATED; 
result_state=SUCCESS; state_message=}
task                    : @{notebook_task=}

Из этого результата мне нужно взять значение result_state.

Я не нахожу идеи, как это сделать, может кто-нибудь помочь.

Спасибо

Ожидаемым результатом будет result_state SUCCESS или FAILED.

1 Ответ

1 голос
/ 02 июля 2019

Похоже, state - это хеш-таблица, содержащая запись result_state, которую вы хотите получить. Вы можете получить к нему доступ, используя:

$getcheck.state.result_state
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...