Найдите правильный URL (конечную точку) для создания ServiceNow Тип запроса на изменение = аварийный

#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» возможно, это сработало, собираюсь подтвердить.

Да, это работает! невозможно отправить стандартный ИЛИ ускоренный. Но это может быть параметр, который необходимо включить (не уверен). Изучаем его дальше. Некоторый прогресс.