Skip to content

component impact: scan filters/boards/dashboards before a component name change #609

Description

@arcaven

Proposal

jr component impact NAME [--rename-to NEW] [--project KEY] [--json]

Blast-radius scan for component renames/deletions: component names are embedded as strings in saved assets, and a rename (companion issue) or delete silently breaks them. Scan:

Asset Source Look for
Saved filters GET /rest/api/3/filter/search?expand=jql component = "NAME" / component in (…NAME…) in filter JQL
Board filters GET /rest/agile/1.0/board/board/{id}/configuration → backing filter JQL same
Kanban/scrum quick-filters GET /rest/agile/1.0/board/{id}/quickfilter name references in quick-filter JQL
Dashboards GET /rest/api/3/dashboard → gadgets filter-backed gadgets resolve via the filters scan; embedded-JQL gadget properties best-effort
Automation rules no stable public REST for rule bodies out of scope; print a standing caveat
  • Output: one row per hit — asset type, name, owner, matched JQL fragment. Non-zero exit when hits exist, so scripts can gate.
  • Matching must be JQL-aware (tokenize, don't substring-grep — component = X vs the word X in a text clause) and case-folded consistently with the query-filter issue.
  • Wire into component rename as a pre-flight: warning: 3 filters and 1 quick-filter reference 'Cloudsmith' by name and will stop matching — --force to proceed.

Even a filters-only first cut would have caught the riskiest rename in our catalog rework this week.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions