Skip to content

fix(jira): recover lost review fixes from PR #588#637

Merged
acreeger merged 8 commits intomainfrom
fix/jira-review-fixes
Feb 19, 2026
Merged

fix(jira): recover lost review fixes from PR #588#637
acreeger merged 8 commits intomainfrom
fix/jira-review-fixes

Conversation

@acreeger
Copy link
Collaborator

Summary

PR #588 (Jira integration) was squash-merged to main but only included the original 3 commits. The 8 review fix commits made afterward to feature/jira-integration were lost. This PR recovers them by rebasing onto main.

Recovered fixes:

  • Credential redaction & specific error catching in Jira API client
  • HTTP timeout & pagination for Jira API requests
  • Jira status mapping improvements
  • Configurable issue types and fix for inverted dependency links
  • ADF table/checkbox conversion for Jira description rendering
  • Plan prompt formatting rules for Markdown output
  • README acknowledgments section
  • --mine flag extension to GitHub and Linear providers
  • Debug logging and error message improvements
  • Search API fixes and graceful handling of missing git remotes

Test plan

  • pnpm build passes
  • All 3940 tests pass (116 files)
  • Rebased cleanly onto main — git automatically skipped the 3 already-applied commits

Fix security, correctness, and robustness issues identified during deep
review of the Jira integration:

- Fix buffer corruption using Buffer.concat instead of string concatenation
- Fix inverted removeDependency link direction (outward→inward)
- Add JQL escaping to prevent injection in search queries
- Add settings parameter to 8 factory call sites that would crash
- Replace hardcoded GitHubService in cleanup.ts with factory
- Redact sensitive fields (apiToken, etc.) in debug logging
- Add HTTP timeout (30s) and pagination caps to API client
- Fix error swallowing: catch only specific error codes (401/403/404)
- Add Jira status-to-state mapping instead of unsafe cast
- Rename 'linear' identifier type to 'project-key' for provider-agnostic naming
- Move DEBUGGING_MCP.md to docs/ with ESM import fixes
- Add Jira provider option to il init wizard prompt
- Update test assertions to match code changes
…links

- Add defaultIssueType and defaultSubtaskType settings (defaults: 'Task',
  'Subtask') configurable via settings.json and env vars
- Fix inverted inwardIssue/outwardIssue mapping in createDependency,
  getDependencies, and removeDependency — "blocks"/"blocked by"
  relationships were reversed in Jira
- Wire config through Zod schemas, JiraTrackerConfig, getJiraTrackerConfig,
  and MCP env var passthrough
- Update docs and init prompt with new settings
…pport

The extended-markdown-adf-parser library generates invalid ADF for tables
(text nodes directly in tableCell instead of wrapped in paragraph) and
strips checkbox state from task lists. This adds post-processing to fix
both issues:

- wrapTableCellContent: wraps bare inline nodes in paragraph inside
  tableCell/tableHeader nodes to satisfy Jira's ADF spec
- extractCheckboxBlocks + convertCheckboxesToTaskList: captures checkbox
  states from markdown before parsing, then converts matching bulletList
  nodes to taskList/taskItem with DONE/TODO states after parsing
- Handles edge cases: nested lists, multi-paragraph items, continuation
  lines, formatted text, and multiple bullet marker types (-, *, +)

Upstream issues filed: JeromeErasmus/extended-markdown-adf-parser#7, #8
Add instructions for agents to always use standard GitHub-flavored
Markdown (not Jira wiki markup) since the MCP tools handle conversion
to ADF. For Jira projects, use ASCII art dependency diagrams instead
of Mermaid which Jira cannot render.
)

Add assignee filtering support to il issues --mine for GitHub (using
gh CLI --assignee @me) and Linear (using SDK assignee isMe filter).
Split warning guard so --sprint remains Jira-only while --mine works
cross-provider. Update CLI help text, documentation, and add 8 new
tests covering all providers.

Fixes #605
- Log full request body at debug level for Jira API calls
- Parse Jira error responses to show structured error details
- Replace hardcoded "GitHub issue" text with generic "issue" wording
- Use nextPageToken pagination instead of invalid startAt for /search/jql
- Request specific fields instead of invalid "*all" wildcard
- Skip PR fetch gracefully when no git remotes are configured
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant

Comments