LINUX.ORG.RU

Сообщения maks011011

 

GLPI API

Всем привет! Я обращаюсь за помощью по интеграции API GLPI для создания заявок.

Я успешно настроил интеграцию API, чтобы пользователи могли открывать заявки через бота Telegram. Хотя заявки создаются успешно, я сталкиваюсь с проблемами при заполнении полей «Инициатор запроса» и «Наблюдатель».

Ожидается, что поле «Инициатор запроса» будет заполнено адресом электронной почты, предоставленным пользователем боту Telegram.

Ниже приведен фрагмент кода Python, который я использую для справки:

import requests

GLPI_URL = ‘http://your-glpi-instance/glpi/apirest.php’ GLPI_API_KEY = ‘Your_API_Key’

def init_session(): url = f’{GLPI_URL}/initSession’ headers = { ‘Content-Type’: ‘application/json’, ‘App-Token’: GLPI_API_KEY, ‘Authorization’: ‘user_token Your_User_Token’ }

response = requests.get(url, headers=headers)

if response.status_code == 200:
    session_token = response.json().get('session_token')
    return session_token
else:
    print(f"Error initiating session in GLPI: {response.status_code}, {response.text}")
    return None

def create_ticket(session_token): url = f’{GLPI_URL}/Ticket’ headers = { ‘Content-Type’: ‘application/json’, ‘App-Token’: GLPI_API_KEY, ‘Session-Token’: session_token }

# Specify the user's email as the requester
requester_email = 'user@example.com'

data = {
    'input': {
        'name': 'Sample Ticket',
        'content': 'Description of the sample ticket',
        'requester': {
            'id': 2,  # Replace with the actual user ID (you may need to check in the GLPI database)
            'name': 'User Name',
            'email': requester_email
        },
        'watchers': [
            {'email': 'another@example.com'}
        ]
    }
}

response = requests.post(url, headers=headers, json=data)

if response.status_code == 201:
    print("Ticket successfully created in GLPI.")
else:
    print(f"Error creating ticket in GLPI: {response.status_code}, {response.text}")

if name == ‘main’: session_token = init_session()

if session_token:
    create_ticket(session_token)]

Также нашел на каком-то форуме добавление альтернативной почты специалиста назначенного на заявку, но не инициатора запроса

 

maks011011
()

RSS подписка на новые темы