-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Summary
The codebase has 60+ hardcoded # prefixes before issue IDs (e.g., Issue #123). This is correct for GitHub but wrong for Jira (QLH-4404) and Linear (ENG-123). We need a formatIssueId method on the IssueTracker interface plus a static utility on IssueTrackerFactory for call sites without a provider instance.
Problem
When using Jira or Linear as the issue tracker, user-facing messages display issue IDs incorrectly:
- Current:
Issue #QLH-4404orIssue #ENG-123 - Expected:
Issue QLH-4404orIssue ENG-123
The issuePrefix property already exists on MCP providers (IssueManagementProvider.issuePrefix) but the main IssueTracker interface lacks an equivalent formatting method.
Approach
- Add
formatIssueId(identifier: string | number): stringto theIssueTrackerinterface - Add a static
IssueTrackerFactory.formatIssueId(providerType, identifier)for call sites without a provider instance - Migrate all user-facing hardcoded
#prefixes to use these methods - Add
ISSUE_PREFIXtemplate variable for Handlebars templates
Scope
- In scope: Issue ID formatting in user-facing messages + templates
- Out of scope: PR references (
PR #X— PRs are GitHub-only), debug messages (low value, high churn)
Deferred
- Auto-detect debug messages in
run.ts,shell.ts,open.ts,vscode.ts,ignite.ts,dev-server.ts,script-command-base.ts,summary.ts— debug-level only, identifier is self-explanatory IssueManagementProvider.issuePrefixdeprecation — keep for backward compat- PR references — PRs are GitHub-only,
#is correct
Verification
pnpm build— TypeScript compilespnpm test— All existing tests pass (updated expectations)- Manual: Configure Jira provider, run
il start QLH-4404, confirm output showsIssue QLH-4404notIssue #QLH-4404 - Manual: Configure GitHub provider, confirm output still shows
Issue #123
Reactions are currently unavailable
Sub-issues
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
No status