List Issues
list_issuesList the issues and problems Fixter has already detected in the caller's telemetry. An issue groups every occurrence of one exception, one recurring error log line or one service that stopped reporting, with its service, environments, status, event count, firstSeen, lastSeen and impact; a problem (kind=PROBLEM) is an item of the Overview: an alert rule, an error, or a group of them that share one cause. Call this first when investigating something failing: an error, a broken feature or job, a service that will not start, a deploy's health, or before searching logs for an error message or log tag. query is a case-insensitive substring of the title, error type, service and frames, so query="PaymentSync" finds the issues titled "[PaymentSync] ...". Then call get_issue on a fingerprint for its frames, traceId and investigation, and search logs with what it gives you. To see what a deploy introduced: service set, sort=FIRST_SEEN, direction=desc, and compare firstSeen with the deploy time. Filter by status (NEW, ONGOING, REGRESSED, RESOLVED, IGNORED), service, environment, kind (EXCEPTION for thrown errors and agent failures, LOG for issues derived from log lines, AVAILABILITY for a service that stopped reporting, PROBLEM for the Overview's problems), or a free-text query; sort by EVENTS, LAST_SEEN or FIRST_SEEN, ascending or descending. To answer what is new, call this with status=NEW, or with sort=LAST_SEEN and direction=desc. To answer what has been broken longest, call it with sort=FIRST_SEEN, direction=asc and an open status, ONGOING or REGRESSED: without a status the oldest issue that comes back is usually one somebody already resolved, which is not a problem to report. The default list leaves out ignored issues and issues a suppression rule matches: pass status=IGNORED to see the ignored ones, includeSuppressed=true to see the suppressed ones alongside the rest, and suppressedByRuleOnly=true to see nothing but the rule-suppressed ones, where suppressedBy names the rule that hides each, and suppressedOnly=true to see both kinds of suppression in one list, the ignored issues together with the rule-hidden ones. Each result flags whether a telemetry investigation brief exists (hasInvestigation) and whether a draft pull request attempt exists (hasFix); call get_issue to read either. Each result carries impact: how many callers got an error on which flows in the last 24 hours and 7 days; sort=CALLERS orders by that; impact is not computed for a problem. With kind=PROBLEM each problem also carries priority (level URGENT, HIGH, MEDIUM or LOW, shown as Urgent, High, Medium, Low; manual when a person set it; and the reason that decided it) and recommendation (the next step: kind and reason; the kinds as the Overview shows them are FIX "Fix available", REVIEW_FIX "Review fix", FIX_MERGED "Fix merged", FIX_RUNNING "Fix running", CHANGE_BY_HAND "Change by hand", TUNE_ALERT "Tune alert", IGNORE_AS_NOISE "Noise", INVESTIGATE "Investigate", RESOLVE "Resolve", NEEDS_INPUT "Needs input"), problems come in triage order (priority, then the most recently opened first), and priority and recommendation filter the list: priority=URGENT,HIGH lists only those levels, recommendation=FIX lists only the problems recommended for a fix.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | EXCEPTION, LOG, AVAILABILITY or PROBLEM (default: every kind but PROBLEM, the Overview's problems) | |
| sort | No | EVENTS, LAST_SEEN, FIRST_SEEN or CALLERS (default LAST_SEEN). CALLERS orders by how many callers the issue hit in the last 7 days. FIRST_SEEN orders by when the issue was first seen, so with direction=asc it starts at the oldest issue the account still has. With kind=PROBLEM only (refused for every other kind): PRIORITY (the default for problems; desc is triage order, asc the reverse), TITLE (A to Z with asc, case-insensitive), SIGNALS (the problem's eventCount: alert firings plus error occurrences; a problem with neither counts its investigations) or STATUS (NEW, REGRESSED, ONGOING, RESOLVED, IGNORED with asc) | |
| limit | No | Max results, 1..100 (default 25) | |
| query | No | Case-insensitive substring of the title, error type, service or frames: a feature, component, log tag or error text | |
| status | No | NEW, ONGOING, REGRESSED, RESOLVED or IGNORED | |
| service | No | Service name to filter by, or several comma-separated (checkout,billing) to match any of them | |
| priority | No | With kind=PROBLEM only: URGENT, HIGH, MEDIUM or LOW, or several comma-separated (URGENT,HIGH), to list only problems at those priorities. Refused for every other kind | |
| direction | No | asc or desc (default desc). To find the issues that have been around longest: call list_issues with sort=FIRST_SEEN and direction=asc, then read firstSeen on each result. To find the rarest ones: sort=EVENTS with direction=asc | |
| minMembers | No | With kind=PROBLEM only: the fewest members (investigations, alerts and issues) a problem needs to be listed (default 2, so a problem with a single member is left out; pass 1 to list every problem). Ignored for every other kind | |
| environment | No | Deployment environment to filter by, e.g. production, or several comma-separated (production,staging) to match any of them. Omit this argument for no filter; on this surface an empty string is also treated as no filter, not as the unknown environment | |
| recommendation | No | With kind=PROBLEM only: one or more comma-separated recommendation kinds (NEEDS_INPUT, FIX_RUNNING, REVIEW_FIX, FIX_MERGED, FIX, TUNE_ALERT, CHANGE_BY_HAND, INVESTIGATE, RESOLVE, IGNORE_AS_NOISE, NONE) to list only problems recommended for them. Refused for every other kind | |
| suppressedOnly | No | true to list everything the account has suppressed: the issues a person suppressed (IGNORED) and the issues a suppression rule hides, in one list (default false), so it is a superset of suppressedByRuleOnly. To review what the account is no longer looking at: call list_issues with suppressedOnly=true, read status on each result, where IGNORED means a person suppressed that issue and suppressedBy names the rule that hides the rest, then call set_issue_status to bring a suppressed issue back, or list_suppression_rules and manage_suppression_rule with action=delete for a rule that hides more than the person wants. This argument wins over status, includeSuppressed and suppressedByRuleOnly when they are combined | |
| includeSuppressed | No | true to include issues a suppression rule matches (default false) | |
| suppressedByRuleOnly | No | true to list only the issues a suppression rule currently hides (default false), which is the rule-hidden part of suppressedOnly and never the ignored ones. To audit what the account is silencing: call list_issues with suppressedByRuleOnly=true, read suppressedBy.ruleId on each result for the rule and suppressedBy.expression for the conditions it matched on, then call list_suppression_rules to name those rules, and manage_suppression_rule with action=delete or action=update for any that hide more than the person wants. This argument answers from the rules alone, so status and includeSuppressed are ignored when it is true |