diff --git a/create_ticket_api.php b/create_ticket_api.php index 3401e3f..8ffa930 100644 --- a/create_ticket_api.php +++ b/create_ticket_api.php @@ -129,6 +129,21 @@ function generateTicketHash($data) if (stripos($title, 'SMART issues') !== false) { $issueCategory = 'smart'; + } elseif (stripos($title, 'ZFS pool') !== false) { + $issueCategory = 'zfs'; + // Extract pool name so each pool gets its own ticket + if (preg_match("/ZFS pool '([^']+)'/i", $title, $poolMatch)) { + $poolName = strtolower(preg_replace('/[^a-z0-9_]/i', '_', $poolMatch[1])); + if (stripos($title, 'state:') !== false || preg_match('/DEGRADED|FAULTED|UNAVAIL|OFFLINE/i', $title)) { + $issueSubtype = 'pool_state_' . $poolName; + } elseif (stripos($title, 'usage') !== false) { + $issueSubtype = 'pool_usage_' . $poolName; + } elseif (stripos($title, 'errors') !== false) { + $issueSubtype = 'pool_errors_' . $poolName; + } else { + $issueSubtype = 'pool_' . $poolName; + } + } } elseif (stripos($title, 'LXC') !== false || stripos($title, 'storage usage') !== false) { $issueCategory = 'storage'; // Include the LXC container ID so each container gets its own ticket @@ -228,12 +243,7 @@ if ($existing) { if ($existingStatus !== 'Closed') { // Ticket is still active — update title, escalate priority, and refresh -<<<<<<< HEAD - // the description with the latest sensor data if the new report is more severe - // (lower priority number = higher severity). -======= // description with latest sensor data. ->>>>>>> development $changes = []; $updateSql = "UPDATE tickets SET updated_at = NOW(), updated_by = ?"; $bindTypes = "i";