feat(jira): adds custom field and scope support#93
Merged
Conversation
- Adds JiraFieldMeta interface and getFields() to IJiraClient/JiraClient/JiraProxyClient - Adds 'fields' endpoint to worker proxy with Array.isArray validation - Adds JiraCustomFieldSchema, customFields/customScopes to JiraConfigSchema - Adds jira-utils.ts with createJiraClient(), mergeCustomFields(), jiraJqlForScope() - Adds JiraFieldPicker and JiraScopePicker settings components - Adds JiraFieldValue duck-typed renderer with expandable detail panel - Adds dynamic SCOPE_OPTIONS with stale scope guard in JiraAssignedTab - Splits clearJiraAuth() to preserve config across reconnect cycles - 80 new tests across 9 test files (2453 total, all passing)
- Fixes CONSTRAINT-5: SettingsPage disconnect calls clearJiraConfigFull - Fixes JQL precedence bug in JiraFieldPicker fallback query - Hoists jiraClient to createMemo in SettingsPage (preserves cache) - Adds 30s cache to JiraProxyClient.getFields() - Fixes JiraFieldValue array index divergence with nested arrays - Merges duplicate regex in jira-utils.ts - Adds ARIA roles/labels to picker scroll containers and detail panel - Adds aria-describedby for disabled checkboxes at 10-field cap - Gates info text behind loaded state in JiraFieldPicker - Adds title attr for truncated field labels - Adds 15 tests for createJiraClient, date rendering, expandable panel - Updates JiraSection test for clearJiraConfigFull
Adds Array.isArray guard in JiraClient.getFields() to match the worker proxy validation. Prevents caching malformed non-array 200 responses.
- Fix stack overflow when filtering by org (guard setGlobalFilter) - Consistent empty state across all tabs with locked repo stubs - Jira proxy returns 503 with message when JIRA_CLIENT_ID missing - Field picker uses *all wildcard for broader preview coverage - Field picker shows all configurable fields, not just custom - Selected fields float to top with reorder controls - Jira issue rows clickable to expand, pills layout for fields - Add expand-by-default setting for Jira issue details - Rename 'Configure scopes' to 'Configure filter scopes' - Fix raw JSON display for components/sprints in JiraFieldValue
Add a Playwright screenshot test that captures the Jira Assigned tab with custom fields, custom scopes, and expanded issue details. Synthetic Jira data spans three projects with varied field types (number, sprint object, team option, epic link, label array). Add the Jira screenshot to README.md below the existing dashboard screenshots.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #85