#post #httprequest #endpoint #servicenow #servicenow-rest-api
#Публикация #httprequest #конечная точка #servicenow #servicenow-rest-api
Вопрос:
Я не знаю разницы между этими двумя конечными точками: a) /api/sn_chg_rest/v1/change/emergency b) /api/now/table/change_request?sys_id=-1amp;sysparm_query=type=emergency
б) после отправки изменений на «обычный» тип ответа
Проблема: не удается отправить запрос типа Аварийный, стандартный ИЛИ ускоренный.
Что я пробовал: url = ‘https://xxxx.service-now.com/api/now/table/change_request?sys_id=-1amp;sysparm_query=type=expedited <<изменения в обычный режим, сайт разрешает только изменения в аварийный или обычный режим после отправки по этой ссылке>>
url = ‘https://xxxx.service-now.com/api/sn_chg_rest/v1/change/emergency <<Этот, похоже, работает только для аварийного и нормального режима, также пользователь заблокирован в режиме аварийного и нормального режима, даже когда он вошел в систему для редактирования типа вручную после отправки через скрипт >>
Результат текущего кода ниже в сочетании с «Тем, что я пробовал» Создается CHG # XXX, но независимо от того, какой ключ: xxxxxx «sys-pram_query= type = xxxxxx» изменяется на (т.Е. «Обычный», «Ускоренный», «Аварийный», «Стандартный»)выглядит так —> («sys-pram_query= тип = Аварийный», «sys-pram_query= тип = Ускоренный», «sys-pram_query= тип = Стандартный») тип на сайте ServiceNow по умолчанию «Обычный», как только выполняется приведенный ниже код, создающий запрос с использованиемМетод POST.
#Need to install requests package for python
#easy_install requests
import requests
# Set the request parameters
url = 'https://xxxx.service-now.com/api/now/table/change_request?sysparm_fields=type'
# Eg. User name="admin", Password="admin" for this code sample.
user = 'admin'
pwd = 'admin'
# Set proper headers
headers = {"Content-Type":"application/json","Accept":"application/json"}
# Do the HTTP request
response = requests.post(url, auth=(user, pwd), headers=headers ,data="{"type":"Emergency"}")
# Check for HTTP codes other than 200
if response.status_code != 200:
print('Status:', response.status_code, 'Headers:', response.headers, 'Error Response:',response.json())
exit()
# Decode the JSON response into a dictionary and use the data
data = response.json()
print(data)
Альтернативные варианты URL, КОТОРЫЕ МОГУТ НЕ РАБОТАТЬ = ‘https://xxxx.service-now.com/api/now/table / «optionsA» ИЛИ «B» ИЛИ «C» выглядит следующим образом:
A) POST /sn_chg_rest/change/standard/{standard_change_template_id}
B) POST api/sn_chg_rest/change/normal
C) POST-версионный URL-адрес / api/sn_chg_rest/{version}/change/emergency
ссылка для A, B, C выше : https://developer.servicenow.com/dev.do#!/reference/api/orlando/rest/change-management-api#changemgmt-POST-emerg-create-chng-req
Ресурсы:
Ответ №1:
API_URL=»/api/sn_chg_rest/v1 /change /emergency» возможно, это сработало, собираюсь подтвердить.
Да, это работает! невозможно отправить стандартный ИЛИ ускоренный. Но это может быть параметр, который необходимо включить (не уверен). Изучаем его дальше. Некоторый прогресс.