Недавно я начал использовать pysnow-module для автоматизации своей работы в Servicedesk. Моя проблема в том, что я не знаю, как создавать запрошенные элементы.
Мне удалось создать новые инциденты и новые запросы, а также обновить их. Мне также удалось изменить запрошенные элементы, но я не знаю, как превратить запросы в запрошенные элементы.
Я пробовал следовать фрагментам кода, все начиная с этого
s = pysnow.Client(instance='Secret domain', user='Secret-user', password='Secret')
Затем продолжаем следующие попытки:
def new_ritm():
result = s.insert(table='sc_req_item', payload={'field1': 'value1',
'field2': 'value2'})
print(result['number'])
luo_uusi_ritm()
File "XXXXXXXXXXXXXXXXXX", line 51, in luo_uusi_ritm()
File"XXXXXXXXXXXXXXXXXX", line 47, in new_ritmresult = s.insert(table='sc_req_item', payload={'field1': 'value1', 'field2': 'value2'})
File "XXXXXXXXXXXXXXXXXX", line 90, in insert return r.insert(payload)
File "XXXXXXXXXXXXXXXXXX", line 108, in insert return self._get_content(response)
File "XXXXXXXXXXXXXXXXXX", line 290, in _get_contentreturn content_json['result']
KeyError: 'result'
Также попробовал изменить REQ, вставить новые значения:
result = s.insert(table='sc_req_item', payload={'sc_req_item.request':
'REQ0994143'})
Но получаем ошибку:
"File "xxxxxxxxxxxxx, line 290, in _get_content
return content_json['result']
KeyError: 'result'
РЕДАКТИРОВАТЬ:
Предложение 1:
Мне не удалось добавить
"request_params={'sysparm_display_value': 'true'})"
, потому что это выдает ошибку "Неожиданный аргумент".
Я ввел следующий код:
s = pysnow.Client(instance=XXXX,user=XXXXX,password=XXXXXX)
try:
result = s.insert(table='sc_req_item', payload={'field1': 'value1',
'field2': 'value2'})
except pysnow.UnexpectedResponse as e:
print("%s, details: %s" % (e.error_summary, e.error_details))
Это дает мне ошибку:
Traceback (последний вызов последний):
Файл "XXXXXXXXXXXX", строка 63, в stack_experiment()
Файл "XXXXXXXXX", строка 59, в stack_experiment result = s.insert(table='sc_req_item', payload={'field1': 'value1','field2': 'value2'})
Файл "XXXXXXXXXXXXX", строка 90, в возврате вставки r.insert(payload)
Файл "XXXXXXXXXXXXX", строка 108, в возврате вставки self._get_content(response)
Файл «XXXXXXXXXXX», строка 290, в _get_content return content_json['result']
KeyError: 'result'
Предложение 2:
Возможно, вас смущает использование Client.insert вместо Request.insert
Я запутался. Должен ли я изменить начальный код "s = pysnow.Client(etc."?
Я пошел читать документацию еще раз и понял, что для новых запросов мне следует использовать pysnow.Request, поэтому я попробовал еще раз с:
r = pysnow.Request(instance='Secret domain', user='Secret-user',
password='Secret', method='POST', table='sc_req_item')
try:
result = r.insert(payload={'field1': 'value1', 'field2': 'value2'})
except pysnow.UnexpectedResponse as e:
print("%s, details: %s" % (e.error_summary, e.error_details))
И у меня возникла ошибка:
Traceback (most recent call last):
File "xxxx", line
7, in
r = pysnow.Request(instance='xxxx', user='xxxx',
password='xxxxx', method='POST', table='sc_req_item')
File "xxxxx", line 29, in __init__
self.default_payload = kwargs.pop('default_payload')
KeyError: 'default_payload'