Search Ticket by Dynamic Fields broken after update to OTRS 6.0.27, 7.0.16

Hi!

Is it possible that the ticket_search was broken with !20 (merged)?

This MR changes the content of GET requests from the body to the URL params.

This change works fine for the ticket_get method because we only need to send an ID and a SessionID (and other boolean params), but in the case of search, the query is more complex. If we are searching with DynamicFields, we need to send a dict like:

{
    "DynamicField_myDF": {
        "Equals": [
            "foobar"
        ]
    },
    ...
}

In the OTRS issue founded in #27 (closed): Bug 14203 - GET method processes entity-body message from request they tell about use GET only for the queries that not require a body and POST to the other queries.

I try to search for tickets with the POST method, but a message related to the creation is returned:

{
    "Error": {
        "ErrorCode": "TicketCreate.MissingParameter",
        "ErrorMessage": "TicketCreate: Ticket parameter is missing or not valid!"
    }
}

We are using OTRS 7.0.16.

Does anyone in a same situation and know how we can continue to make these requests?

We can implement the changes and propose an MR, but we don't know how we can search ticket by dynamic field... 😓

Edited by Robert Habermann