ich knobel jetzt seit 2 Tagen daran, wie ich ca 100 Datensätze in otrs bekomme. Pro Datensatz soll ein Prozessticket erstellt werden und die Daten müssen in die entsprechenden DynamicFields.
ich denke, dass es am erfolgsversprechendsten ist über die SOAP Schnittstelle zu gehen...
hierüber habe ich es auch bereits geschaft normale Tickets zu erstellen.
Code: Select all
error_reporting(E_ALL);
#### OTRS specific information ####
$url = "http://ticketsystem.XXXX.de/otrs/rpc.pl"; // URL for OTRS server
$username = "soap_user"; // SOAP username set in sysconfig
$password = "soap_pass"; // SOAP password set in sysconfig
$client = new SoapClient(
null,
array(
'location' => $url,
'uri' => "Core",
'trace' => 1,
'login' => $username,
'password' => $password,
'style' => SOAP_RPC,
'use' => SOAP_ENCODED
)
);
# Ticketnummer erstellen
$ticketnr = $client->__soapCall("Dispatch", array($username, $password, "TicketObject", "TicketCreateNumber"));
if(! is_string($ticketnr) ) $ticketnr = number_format($ticketnr,0, '.', '');
#echo $ticketnr;
# Neues Ticket erstellen
$title = "Adobe Testticket";
$queue = "Zentrale IT";
$userid = 9; # Die OTRS-ID des Users, der die Tickets erstellen soll !! Dieser Wert variiert natürlich in jeder Otrs-Installation
$dynamicfield_accvorname = "Max";
$dynamicfield_accnachname = "Mustermann";
$dynamicfield_accmail = "max.muastermann@gehtnicht.de";
$dynamicfield_accstart = "";
$dynamicfield_accende = "";
$dynamicfield_acctyp = "";
$dynamicfield_accstatus = "";
$dynamicfield_mastandort = "";
$ticketid = $client->__soapCall("Dispatch", array($username, $password, "TicketObject", "TicketCreate",
"TN", $ticketnr,
"Title", "[ Ticket#: ".$ticketnr." ] ".$title,
"Queue", $queue,
"Lock" , "unlock",
"PriorityID", 5,
"State" , "new",
"OwnerID" , $userid,
"UserID", $userid,
"DynamicField_ProzessManagementProcessID","Process-1fb58d4dfdc7b2881e6de7d97d011dbd",
"DynamicField_ProzessManagementActivityID","Activity-56cdea182b8b865ec78dd5789d6e35aa",
"DynamicField_accvorname", $dynamicfield_accvorname,
"DynamicField_accnachname", $dynamicfield_accnachname,
"DynamicField_accmail", $dynamicfield_accmail
));
echo "REQUEST:\n".$client->__getLastRequest()."\n";
echo "RESPONSE:\n".$client->__getLastResponse()."\n\n";
hat jemand eine Idee??
ich bin natürlich auch für andere Lösungswege offen, die mich ans Ziel bringen...

LG Christian