Создайте заявку в RT с помощью python-rtkit с RESOURCE_STATUS: требуется 401 учетных данных

Я здесь новенький. Это тот же вопрос, что и этот, но я не получил ответа, поэтому я снова отправляю его: как создать тикет в rt, используя python-rtkit

Я пробовал оба CookieAuthenticator а также BasicAuthenticator создать или прочитать билет, но я все еще получаю ту же ошибку:

`RT/3.8.13 401 Credentials required` 

Когда я загружаю URL-адрес непосредственно в браузере: http://ticket.corp.kk.net/REST/1.0/ticket/214560?user=user&pass=pass, я действительно получаю содержимое тикета в браузере.

Я даже попробовал wget Команда, чтобы получить один билет, как показано ниже, используя cookie, и он работает хорошо:

  1. сохранить вручную значение cookie в coookie.txt файл:

    RT_SID_kk.net.80=5a1c1eb207c4e2ef5af726e98d751a08
    
  2. запустите эту команду:

    wget -O ticketContent.txt --keep-session-cookies --save-cookies cookies.txt 'http://ticket.corp.kk.net/REST/1.0/ticket/220680/show?format=l&user=user&pass=pass'
    

Контент билета хорошо зарегистрирован в ticketContent.txt, который показывает использование куки для аутентификации работает.

Но я до сих пор не могу пройти CookieAuthentication из rtkit в моем скрипте Python.

Я боролся с этой проблемой в течение 2 дней, я был бы очень признателен, если бы кто-нибудь смог мне помочь. Спасибо.

1 ответ

Я не нашел решения этой проблемы, но мне удалось использовать библиотеку Python Requests для создания заявки в RT .

  1. устанавливает запросы lib. http://docs.python-requests.org/en/latest/user/install/
  2. создать новый тикет в RT

    #!/usr/bin/python -u
    import requests,logging
    
    logging.basicConfig(level=logging.DEBUG)
    post_data = """
    id: ticket/new
    Queue: myqueue
    Subject: Test Ticket creation in RT with Python
    Text: Wow ticket is created :-D . 
    """
    payload = {'user': 'user', 'pass': 'password','content':post_data}
    ticket_creation_reusult = requests.post("http://ticket.corp.kk.net/rt3/REST/1.0/ticket/new", payload)
    
    logging.debug(ticket_creation_reusult.text)
    

Выход:

INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1):  ticket.corp.kk.net
DEBUG:requests.packages.urllib3.connectionpool:"POST /rt3/REST/1.0/ticket/new     HTTP/1.1" 200 None
DEBUG:root:RT/3.8.13 200 Ok
# Ticket 221173 created.

Надеюсь, что это поможет вам, если у вас есть такая же проблема, как у меня.:-)

Другие вопросы по тегам