file_ticket
File a new ticket on the AI work board: a gap you found, a follow-up chore, an incident to investigate, or a request on behalf of the user. The ticket enters 'triage' and the dispatcher assigns it to the best matching agent. Give it a clear title, a body with the evidence, a kind, and a priority. Tickets cannot target an archived cluster - file board-level (no cluster_id) work instead if genuinely needed. An incident or insight on a cluster MUST name the condition it reports and the object it is on (condition, resource_kind, resource_namespace, resource_name): the board keys the ticket on the problem class and the root-cause object, so the same fault already seen by an alert or an insight lands on their ticket as a recurrence instead of a duplicate, and the result tells you which happened. Name them for scan and audit findings of any kind too.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | The problem statement with evidence (markdown). | |
| kind | No | The ticket kind (default 'request'). | |
| title | Yes | Short imperative title (e.g. 'Pin unversioned nginx addon on prod-eu'). | |
| priority | No | The priority (default 'medium'). | |
| condition | No | The unhealthy state this ticket reports, as a short stable name. Prefer a problem class: 'crashloop', 'oom', 'image_pull', 'config_error', 'unschedulable', 'pod_not_ready', 'workload_unavailable', 'job_failed', 'node_not_ready', 'node_pressure', 'node_unschedulable', 'storage_pending', 'storage_full', 'addon_unhealthy', 'certificate_not_ready', 'cluster_unreachable'; common spellings ('restart_accumulation', 'CrashLoopBackOff', 'ImagePullBackOff') map onto them, and an unknown name keys on itself. Requires a cluster; required for kind 'incident' and 'insight'. With resource_kind/resource_name it keys on that object's root cause (a pod resolves to its Deployment, DaemonSet or CronJob), otherwise on the cluster. Same class, same object, open ticket = recurrence, not a new ticket. | |
| cluster_id | No | The cluster this concerns. Defaults to the session's cluster when scoped. | |
| resource_kind | No | The Kubernetes kind of the object the condition is on (e.g. 'Pod', 'Deployment', 'Node', 'PersistentVolumeClaim'). Pass the pod when that is what you observed; the board resolves its owner workload. Goes with resource_name. | |
| resource_name | No | The name of that object. Goes with resource_kind. | |
| resource_namespace | No | The namespace of that object; omit for cluster-scoped kinds (Node, PersistentVolume). Used with condition. |