можно указать значение в организме (например: «sys_updated_by» = «JSmith») и успешно возвращает эту конкретную записьPowerShell и ServiceNow REST API Dot-Walking не работает
$URL = "https://domain.service-now.com/api/now/v1/table/sc_item_option_mtom"
$headers = @{"AUTHORIZATION"="Basic 12345678900987654321"}
$Body = @{
"sysparm_limit"="1"
"sys_updated_by"="JSmith"
}
(Invoke-RestMethod -Headers $headers -Method Get -Uri $URL -Body $Body).result
request_item : @{link=https://domain.service-now.com/api/now/v1/table/sc_req_item/cc6f59d4c0779100925cad13165a7325; value=cc6f59d4c0779100925cad13165a7325}
sc_item_option : @{link=https://domain.service-now.com/api/now/v1/table/sc_item_option/d37c591cc0779100925cad13165a7397; value=d37c591cc0779100925cad13165a7397}
sys_updated_by : JSmith
sys_tags :
sys_updated_on : 2014-03-27 16:26:24
sys_id : 006f555cc0779100925cad13165a7377
sys_mod_count : 0
sys_created_on : 2014-03-27 16:26:24
sys_created_by : JSmith
Я не могу вернуть правильный запись, когда я dot-walk с request_item.value (или request_item.link, я не нашел ничего, что работает). Я использовал значение, возвращаемое из выше (cc6f59d4c0779100925cad13165a7325), но запрос кажется игнорировать всю строку «request_item.value» = «cc6f59d4c0779100925cad13165a7325» и возвращает первую запись в таблице вместо
$URL = "https://domain.service-now.com/api/now/v1/table/sc_item_option_mtom"
$headers = @{"AUTHORIZATION"="Basic 12345678900987654321"}
$Body = @{
"sysparm_limit"="1"
"request_item.value"="cc6f59d4c0779100925cad13165a7325"
}
(Invoke-RestMethod -Headers $headers -Method Get -Uri $URL -Body $Body).result
request_item : @{link=https://domain.service-now.com/api/now/v1/table/sc_req_item/00020bbc6892d900925cda2e3d5bf84a; value=00020bbc6892d900925cda2e3d5bf84a}
sc_item_option : @{link=https://domain.service-now.com/api/now/v1/table/sc_item_option/f2f14bbc6892d900925cda2e3d5bf8d1; value=f2f14bbc6892d900925cda2e3d5bf8d1}
sys_updated_by : CHOLMES
sys_tags :
sys_updated_on : 2014-01-13 23:20:06
sys_id : 00020bbc6892d900925cda2e3d5bf84c
sys_mod_count : 0
sys_created_on : 2014-01-13 23:20:06
sys_created_by : CHOLMES
Если присвоить результат переменной, как и '$ а = (Invoke-RestMethod -Headers $ headers -Method Get -Uri $ URL -Body $ Body) .result', что происходит, когда вы пытаетесь вызвать '$ a.request_item.Link'? – FoxDeploy
Я не уверен, что понимаю, какой HTTP-запрос вы делаете? Похоже на GET, но у него есть тело запроса? Во всяком случае, вы можете попробовать использовать параметр sysparm_query для указания закодированного запроса. Если вы не знаете, где получить закодированный запрос, вы можете построить запрос в представлении списка, щелкнуть правой кнопкой мыши по запросу breadcrumb и выбрать «Копировать запрос». Надеюсь это поможет. – Silas
@FoxDeploy При сохранении в переменной данные доступны в $ a.request_item.Link. – user3208164