Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Adventnet ManageEngine ServiceDesk Plus (часть 2)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

gopher39

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[more] [more] Прошел месяц как я взялся за эту задачу. Нашел этот форум. Прочитал обе его части(при этом нашел очень много интересного для себя)
 
Перекопал официальную базу знаний от ME  
https://pitstop.manageengine.com/portal/en/kb/servicedesk-plus
 
Перекопал мануал от ME
https://help.servicedeskplus.com/automation
 
Но ошибка не уходит. Не получается запустить ни один скрипт связанный с заявками.
 
Версия SD 10.5 Сборка 10513
 
.\pip.exe list --format=columns
Package            Version
------------------ ---------
certifi            2023.7.22
charset-normalizer 3.2.0
idna               3.4
pip                23.1.2
requests           2.31.0
setuptools         65.5.0
urllib3            2.0.4
xlrd               2.0.1
 
Python 3.11
 
Скрипты копирую в папку  
C:\Program Files\ManageEngine\ServiceDesk\integration\custom_scripts
на сервере.
 
Далее в Жизненном Цикле Заявки создаю сценарий
https://imagizer.imageshack.com/img922/2708/pCFRtP.png
 
запускаю скрипт а в журнале все время пишется ошибка. причем чтобы я не делал с файлами, ошибки не уходят, а просто все время меняются.
 
То она такая:
Traceback (most recent call last): File "C:\Program Files\ManageEngine\ServiceDesk\integration\custom_scripts\assignChangeOwner_Sample3.py", line 15, in <module> with open(file_Path) as data_fil
 
то такая
 Traceback (most recent call last): File "C:\Program Files\ManageEngine\ServiceDesk\integration\custom_scripts\mergetickets.py", line 5, in <module> import requests ModuleNotFoundError: No module
 
и такая
Traceback (most recent call last): File "C:\Program Files\ManageEngine\ServiceDesk\integration\custom_scripts\mergetickets.py", line 5, in <module> from functions import getURL
 
Файл functions.py лежит в папке со скриптом, requests установлен.
Единственное что удалось сделать, это отправить письмо с помощью скрипта, но все остальное не пашет.
 
Может быть кто-нибудь сталкивался с такой напастью?
 
Вот часть кода который не работает

Код:
 
import os
import sys
import urllib
import requests
import functions
from functions import getURL
from functions import read_file
from functions import postURL
from functions import setBR_input
 
#print(dir(functions))
#--------------- Customizations -------------
 
technicianKey = '121E2DFE-1FAB-42D2-AD82-10E4C021374D'
 
reason = "Merging with parent ticket"
 
operation_name = "NEGATE"
 
 
#---------------------------- Get Method -----------------------------------
 
def getURL(url, technicianKey, json_data=None, params=None, portalid=None):  
    jsonData = None
    if json_data is not None:
        jsonData = {
            'input_data': json_data
            }
 
    paramsData = None
    if params is not None:
        paramsData = urllib.parse.urlencode({
            'input_data': params
            })
         
    headers = {
        "authtoken":technicianKey,
        'accept':'vnd.manageengine.v3+json',
        'PORTALID': portalid
        }
    with requests.Session() as s:
        return s.get(url, headers=headers, data=jsonData, params=paramsData, verify=False)
 
 
config_filepath = os.getcwd()+"/configuration.json"
configuration = read_file(config_filepath,"configuration")
 
requestObj = read_file(str(sys.argv[1]),'request')
 
sub = requestObj['subject']
desc = requestObj['description']
 
if desc is None:
    desc = ""
 
print(sub)
 
url = configuration['url']+"/api/v3/requests"
params_data="""{"list_info":{"start_index":1,"search_fields":{"subject":"""+sub+"""},"get_total_count":true}}"""
 
r = getURL(url, technicianKey,None,None,params_data)
response = r.json()
 
if response['response_status'][0]['status'] == 'success' and len(response['requests']) > 0:
 
    parentTicketId = response['requests'][0]['id']
 
    url = configuration['url']+"/sdpapi/request/"+parentTicketId+"/conversation"
    desc=desc.replace("\"","'")
    json_data = '{"operation": {"details": {"subject": "'+ sub +'","description": "'+ desc +'","woID": "'+ parentTicketId +'"}}}'
    r = postURL(url, technicianKey,"ADD_CONVERSATION",params_data=json_data)
    print(r.json())
 
    response = r.json()
 
    if response['operation']['result']['status'] != 'Success':
        print(response['operation']['result']['message'])
 
    print(setBR_input(operation_name,reason,None,None))
 

 

Всего записей: 14 | Зарегистр. 20-07-2023 | Отправлено: 16:52 15-08-2023 | Исправлено: gopher39, 16:57 15-08-2023
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Adventnet ManageEngine ServiceDesk Plus (часть 2)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru