@@ -72,7 +72,7 @@ func pastIncidentColumns() []output.Column {
7272}
7373
7474func newIncidentListCmd () * cobra.Command {
75- var progress , severity , query , since , until , nums , fields string
75+ var progress , severity , query , since , until , nums , fields , channel string
7676 var channelID int64
7777 var limit , page int
7878 defaultStructuredFields := []string {"incident_id" , "title" , "incident_severity" , "progress" , "start_time" , "channel_id" }
@@ -101,7 +101,17 @@ func newIncidentListCmd() *cobra.Command {
101101 }
102102 req .Page = page
103103 req .Limit = limit
104- if channelID != 0 {
104+ if channel != "" {
105+ channelIDs , err := parseIntSlice (channel )
106+ if err != nil {
107+ return fmt .Errorf ("invalid --channel: %w" , err )
108+ }
109+ req .ChannelIDs = channelIDs
110+ } else if channelID != 0 {
111+ // --channel-id is a deprecated single-ID alias kept for scripts
112+ // written before --channel existed; --channel above is canonical
113+ // and wins when both are set. parseIntSlice/--channel is exactly
114+ // the pattern alert list and change list already use.
105115 req .ChannelIDs = []int64 {channelID }
106116 }
107117 if nums != "" {
@@ -144,9 +154,16 @@ func newIncidentListCmd() *cobra.Command {
144154 cmd .Flags ().StringVar (& severity , "severity" , "" , "Filter: Critical,Warning,Info" )
145155 registerEnumFlag (cmd , "progress" , "Triggered" , "Processing" , "Closed" )
146156 registerEnumFlag (cmd , "severity" , severityEnum ... )
147- // --channel-id matches the sibling channel commands (channel info
148- // --channel-id, channel escalate-rule-list --channel-id).
149- cmd .Flags ().Int64Var (& channelID , "channel-id" , 0 , "Filter by channel ID" )
157+ // --channel matches the sibling list verbs (alert list --channel,
158+ // alert-event list --channel, change list --channel): comma-separated
159+ // channel IDs, forwarded to the API's channel_ids ([]int64) field.
160+ cmd .Flags ().StringVar (& channel , "channel" , "" , "Comma-separated channel IDs" )
161+ // --channel-id is kept as a deprecated single-ID alias for existing
162+ // scripts (this is a public CLI). MarkDeprecated hides it from --help
163+ // and prints a runtime notice on use; no separate MarkHidden call is
164+ // needed (pflag's MarkDeprecated already sets Flag.Hidden = true).
165+ cmd .Flags ().Int64Var (& channelID , "channel-id" , 0 , "Deprecated: use --channel instead" )
166+ _ = cmd .Flags ().MarkDeprecated ("channel-id" , "use --channel instead" )
150167 cmd .Flags ().StringVar (& query , "query" , "" , "Free-text search across title/labels/content (also resolves a 24-char incident ID or 6-char incident num to a direct lookup)" )
151168 cmd .Flags ().StringVar (& nums , "nums" , "" , "Comma-separated short incident ids (num, the 6-char id shown in the UI) to filter by" )
152169 cmd .Flags ().StringVar (& since , "since" , "24h" , "Start time (duration, date, datetime, or unix timestamp; --since→--until window must be < 31 days)" )
0 commit comments