GetTickets.php
GetTickets.php
<?php
require_once "C:/Php/SoftLayer/SoftLayer/SoapClient.class.php";
$username = "set me";
$apiKey = "set me";
$path = "C:\Reports";
$client = SoftLayer_SoapClient::getClient("SoftLayer_Account", null, $username, $apiKey);
$mask = "mask[id, title, lastEditType, attachedHardwareCount, lastEditDate, group[name], assignedUser[username], status[name]]";
$client -> setObjectMask($mask);
$status = array("Assigned", "Open", "Closed");
$filter = new stdClass();
$filter -> tickets = new stdClass();
$filter -> tickets -> status = new stdClass();
$filter -> tickets -> status -> name = new stdClass();
$filter -> tickets -> status -> name -> operation = "in";
$filter -> tickets -> status -> name -> options = array();
$filter -> tickets -> status -> name -> options[0] = new stdClass();
$filter -> tickets -> status -> name -> options[0] -> name = "data";
$filter -> tickets -> status -> name -> options[0] -> value = $status;
$client -> setObjectFilter($filter);
$csvTickets = array();
try {
$tickets = $client -> getTickets();
foreach ($tickets as $ticket) {
echo "Ticket #: " . $ticket -> id . "\nGroup: " . $ticket -> group -> name . "\nSubject/Title: " . $ticket -> title . "\nOwner: " . $ticket -> assignedUser -> username . "\nLast Replied: " . $ticket -> lastEditType . "\nDevice: " . $ticket -> attachedHardwareCount . " Device(s)" . "\nUpdated: " . $ticket -> lastEditDate;
array_push($csvTickets, array($ticket -> id, $ticket -> group -> name, $ticket -> title, $ticket -> assignedUser -> username, $ticket -> lastEditType, $ticket -> attachedHardwareCount, $ticket -> lastEditDate));
echo("\n------------------------------------------------------------------------------------\n");
}
echo "Tickets: " . sizeof($tickets);
} catch(Exception $e) {
echo "Unable to get tickets: " . $e -> getMessage();
}
try {
$dateTime = new DateTime();
$date = $dateTime -> format("Y-m-d");
$titles = array("Ticket #", "Group", "Subject/Title", "Owner", "Last Replied", "Device", "Updated");
$filePath = fopen($path . "\Tickets_" . $date . ".csv", "w");
fputcsv($filePath, $titles);
foreach ($csvTickets as $fields) {
fputcsv($filePath, $fields);
}
fclose($filePath);
echo "\nCSV created in " . $path;
} catch(Exception $e) {
echo "Unable to create CSV: " . $e -> getMessage();
}