How to solve pyotrs error : "Failed to access OTRS API. Check Username and Password! Session ID expired?! Does Ticket exist?"

I have created a ticket with title "Test ticket" and now I am trying to get the details of the created ticket using pyotrs with following code:

from pyotrs import Client, Ticket
URL = ""
USERNAME = "user"
PASSWORD = "pass"
#TICKET_LINK = URL + "/otrs/index.pl?Action=AgentTicketZoom;TicketID="
# Creating session
client = Client(URL, USERNAME, PASSWORD)
client.session_create()
ticket_ids = client.ticket_search(Title=["Test ticket"])
my_ticket=client.ticket_get_by_id(ticket_ids)
print(ticket_ids)
print(my_ticket.field_get("TicketNumber"))

This gives the following error:

Traceback (most recent call last): File "./search_ticket.py", line 16, in <module> my_ticket=client.ticket_get_by_id(ticket_ids) File "/opt/lib/python3.6/site-packages/pyotrs/lib.py", line 1309, in ticket_get_by_id if not self._parse_and_validate_response(response): File "/opt/lib/python3.6/site-packages/pyotrs/lib.py", line 2191, in _parse_and_validate_response self.result_json["Error"]["ErrorMessage"]))
pyotrs.lib.APIError: Failed to access OTRS API. Check Username and Password! Session ID expired?! Does Ticket exist?
OTRS Error Code: TicketGet.AccessDenied
OTRS Error Message: TicketGet: User does not have access to the ticket!

I got a fix here. But I don't have much idea how to fix this as the mentioned requests.request() is not present in my version of ticket_get_by_id(), in my pyotrs(pyotrs version-0.12.2, otrs-6). Alternately, is there any other issue which may be causing this? I am new to APIs and any help will be appreciated.

1 Answer

I replicated your error. You use my_ticket=client.ticket_get_by_id(ticket_ids), where ticket_ids is an array and ticket_get_by_id needs an integer. use this instead:

my_ticket=client.ticket_get_by_id(ticket_ids[0])To get the first ticket.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like