Problem mit HTTP GET-Anfragen in OTRS über PowerShell

Allgemein Fragen, deutsche News, Ankündigungen & Events zum OTRS
Post Reply
Ting
Znuny newbie
Posts: 14
Joined: 13 May 2014, 14:48
Znuny Version: 3.3.7

Problem mit HTTP GET-Anfragen in OTRS über PowerShell

Post by Ting »

Hallo zusammen,

ich möchte mich vorab für eure Unterstützung bedanken. Ich habe ein Problem bei der Durchführung von HTTP GET-Anfragen in OTRS mittels PowerShell und hoffe auf eure Hilfe.

Aktuelles System:
- OTRS mit konfiguriertem Webservice
- PowerShell-Skript zur Abfrage von Ticketinformationen

Mein Ziel:
Ich möchte den Inhalt bestimmter Tickets mittels einer HTTP GET-Anfrage ermitteln. Dabei sind mir folgende Informationen wichtig:
- Kundennummer
- Betreff (Subject)
- Textinhalt

Langfristiges Ziel:
Automatisierung der Auswertung aller Tickets in einer bestimmten Queue.

Konfiguration des Webservices:
- Name: Api
- Netzwerktransporttyp: HTTP::Rest
- Route-Mapping für Operation 'ticketget': `/Ticket/:TicketID`
- Gültige Anfragemethoden für Operation 'ticketget': GET
- Maximale Nachrichtenlänge: 2900
- Keep Alive senden: Nein
- Operationen: ticket::ticketget
- Mapping für eingehende und ausgehende Daten: Einfach (ist das richtig?)

PowerShell-Skript:
```powershell
$BaseUri = "http://#####/otrs/nph-genericinterface.pl/Webservice/api/Ticket" # URL angepasst
$TicketId = "82124882" # Beispiel-Ticket-ID
$Username = "Benutzername" # geändert
$Password = "Kennwort" # geändert

$AuthInfo = "${Username}:${Password}"
$Credentials = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($AuthInfo))
$Headers = @{Authorization=("Basic $Credentials")}

$Uri = "$BaseUri/$TicketId"
try {
$Response = Invoke-WebRequest -Uri $Uri -Method Get -Headers $Headers
$Response.Content
} catch {
Write-Host "Fehler beim Abrufen der Daten: $_"
}
```

Problem:
Ich erhalte die Fehlermeldung:
```
{
"Error": {
"ErrorCode": "TicketGet.AuthFail",
"ErrorMessage": "TicketGet: Authorization failing!"
}
}
```






im log erhalt eich folgnede Infos:

$VAR1 = {
'CONTEXT_DOCUMENT_ROOT' => '/opt/otrs/bin/cgi-bin/',
'CONTEXT_PREFIX' => '/otrs/',
'DOCUMENT_ROOT' => '/var/www/html',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'HTTP_ACCEPT_ENCODING' => 'gzip, deflate',
'HTTP_ACCEPT_LANGUAGE' => 'de',
'HTTP_CACHE_CONTROL' => 'max-age=0',
'HTTP_CONNECTION' => 'keep-alive',
'HTTP_COOKIE' => 'OTRSAgentInterface=sqhDNqrfi3N9Rb4NhTNec25mETMavaSQ; _ga_5VPR3EBECJ=GS1.1.1703162809.2.0.1703162809.0.0.0; _ga=GA1.2.2047783768.1702564239',
'HTTP_HOST' => '####',
'HTTP_UPGRADE_INSECURE_REQUESTS' => '1',
'HTTP_USER_AGENT' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
'MOD_PERL' => 'mod_perl/2.0.10',
'MOD_PERL_API_VERSION' => '2',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'PATH_INFO' => '/Webservice/api/Ticket/82124882',
'PATH_TRANSLATED' => '/var/www/html/Webservice/api/Ticket/82124882',
'QUERY_STRING' => '',
'REMOTE_ADDR' => '192.168.8.132',
'REMOTE_PORT' => '58593',
'REQUEST_METHOD' => 'GET',
'REQUEST_SCHEME' => 'http',
'REQUEST_URI' => '/otrs/nph-genericinterface.pl/Webservice/api/Ticket/82124882',
'SCRIPT_FILENAME' => '/opt/otrs/bin/cgi-bin/nph-genericinterface.pl',
'SCRIPT_NAME' => '/otrs/nph-genericinterface.pl',
'SERVER_ADDR' => '####',
'SERVER_ADMIN' => 'webmaster@localhost',
'SERVER_NAME' => '####',
'SERVER_PORT' => '80',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at helpdesk.kraemmel.de Port 80</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)'
};



Mögliche Ursachen:
Ich vermute, dass das Problem mit der Basic Auth Authentifizierungsmethode zusammenhängt, aber ich finde keine Informationen darüber, wie diese in OTRS zu aktivieren oder zu überprüfen ist. Die verfügbaren Anleitungen stimmen nicht mit meiner Web-GUI überein.

Könnte jemand Licht ins Dunkel bringen oder hat jemand ähnliche Erfahrungen gemacht? Jeder Hinweis wäre sehr hilfreich.

Vielen Dank im Voraus!
OTRS 6.0.28
jojo
Znuny guru
Posts: 15019
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: Problem mit HTTP GET-Anfragen in OTRS über PowerShell

Post by jojo »

6.0.28? Wirklich?

Das Generic Interface stellt keine Http Basic Auth Authentifizierung zur Verfügung, sondern authentifiziert selber. Du musst dementsprechend Benutzernamen und Passwort als GET Parameter angeben. Oder vorher eine Session erzeugen und dann die SessionID übergeben.
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
Ting
Znuny newbie
Posts: 14
Joined: 13 May 2014, 14:48
Znuny Version: 3.3.7

Re: Problem mit HTTP GET-Anfragen in OTRS über PowerShell

Post by Ting »

Hallo,

vielen Dank für deine Rückmeldung. Mit den Informationen, die du mir gegeben hast, konnte ich bereits gute Fortschritte machen.

Die aktuelle URL lautet:

`http://helpdesk.firma.de/otrs/nph-gener ... Articles=1`

Jetzt möchte ich meine Anfrage erweitern und mir eine Übersicht aller Tickets aus einer bestimmten Queue anzeigen lassen.

Könntest du mir bitte sagen, wie die URL dann modifiziert werden muss?

Danke im Voraus für deine Hilfe.

Beste Grüße,
OTRS 6.0.28
root
Administrator
Posts: 3968
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: Problem mit HTTP GET-Anfragen in OTRS über PowerShell

Post by root »

Ting wrote: 24 Jan 2024, 15:49 Die aktuelle URL lautet:

`http://helpdesk.firma.de/otrs/nph-gener ... Articles=1`
Hallo,

Dir ist schon klar, das die Parameter im Webserverlog gespeichert? Also auch das Passwort.

- Roy
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
Ting
Znuny newbie
Posts: 14
Joined: 13 May 2014, 14:48
Znuny Version: 3.3.7

Re: Problem mit HTTP GET-Anfragen in OTRS über PowerShell

Post by Ting »

Hallo, danke für die Information.

Wir sind uns dessen bewusst. Derzeit wird alles über ein Testsystem abgewickelt, welches keine Daten enthält und nur in begrenztem Umfang zugänglich ist.

Unsere aktuelle Priorität liegt darauf, das Format zu klären, in dem wir Daten erhalten können.
OTRS 6.0.28
root
Administrator
Posts: 3968
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: Problem mit HTTP GET-Anfragen in OTRS über PowerShell

Post by root »

Hi,

ich hab hier mal ein Beispiel wie wir es nutzen, ggf. Methode (ich verweigere ich dem GET) und URL einfach anpassen:

Code: Select all

$UserLogin = "xxx"
$Password = "xxx"
$TicketId = 123456
$uri  = "https://xx.yy.zz.com/otrs/nph-genericinterface.pl/Webservice/REST"

$headers = @{}
$headers.Add("Accept", "application/json")
$headers.Add("Content-Type", "application/json")

$Payload = @{
	UserLogin = $UserLogin
	Password  = $Password
	AllArticles = 1
	DynamicFields = 0
}

$json = $Payload | ConvertTo-Json
$response = Invoke-RestMethod -Method Post -Headers $Headers -Uri "$uri/Ticket/$TicketID" -Body $json

if ($response.Error) {
	$code = $response.Error.ErrorCode
	$message = $response.Error.ErrorMessage
	Write-Host "Request failed (${code}: $message)"
}
Eine Beispielresponse habe ich mal beigefügt.

- Roy
You do not have the required permissions to view the files attached to this post.
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
Post Reply