Skip to content

feat: Jira integration, sync improvements, and bot filter cleanup#1

Merged
ViktorBilokin merged 17 commits intomainfrom
feature/jira-integration-sync-improvements
Mar 31, 2026
Merged

feat: Jira integration, sync improvements, and bot filter cleanup#1
ViktorBilokin merged 17 commits intomainfrom
feature/jira-integration-sync-improvements

Conversation

@ViktorBilokin
Copy link
Copy Markdown
Contributor

Summary

  • Jira integration: new JiraController, JiraService (client, DTOs, TicketQualityService), and JiraPage UI with full ticket browsing
  • Sync page: sortable table by Repository name / Status (default, not-completed on top) / Last Synced; added Actions column header; Re-sync and Clean styled as buttons
  • Sync trigger (AdminController): syncs both pending repos (full) and completed repos (incremental since last sync), not just pending
  • Dashboard bot filter: removed automatic [bot] login filter — bots like github-actions[bot], dependabot[bot] must now be listed explicitly in the Bot Names config setting
  • Config page: updated Bot Names field hint to remove mention of [bot] auto-filter
  • Makefile: force-kill lingering processes on ports 8080/3000/5432 on make stop
  • application.yml: added Anthropic API key config block
  • react-markdown: added as frontend dependency

Test plan

  • Jira page loads and displays issues from configured Jira project
  • Sync page table sorts correctly by each column; Status sort puts not-completed rows first
  • Re-sync and Clean render as buttons with correct styles
  • Triggering sync from UI syncs both pending and completed repos
  • Dashboard "Include bots" checkbox correctly filters only explicitly listed bot names; github-actions[bot] appears unless added to Bot Names
  • make stop cleanly kills all processes on ports 8080, 3000, 5432

🤖 Generated with Claude Code

…leanup

- Add Jira integration: JiraController, JiraService, JiraPage with full UI
- Sync page: sortable table (by name/status/last synced), status-first default sort, Actions column header, Re-sync/Clean styled as buttons
- Sync trigger: now includes completed repos for incremental re-sync alongside pending (full sync)
- Dashboard: remove automatic [bot] login filter — bots must now be listed explicitly in Bot Names setting
- Config page: update Bot Names hint to drop the [bot] auto-filter mention
- Makefile: force-kill lingering processes on ports 8080/3000/5432 during stop
- application.yml: add Anthropic API key config
- Add react-markdown dependency

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ViktorBilokin ViktorBilokin requested review from a team as code owners March 30, 2026 01:13
@bwappsec
Copy link
Copy Markdown

bwappsec commented Mar 30, 2026

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

ViktorBilokin and others added 6 commits March 29, 2026 21:25
Reject path variable values that don't match the PROJECT-NUMBER pattern
before they are interpolated into the outbound HTTP URL.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Jira ticket browsing + AI ticket-quality details to GitHub Pulse, and updates admin sync + dashboard bot filtering to better match current workflows/config.

Changes:

  • Introduces Jira backend endpoints/client + a new Jira UI page (epics, child issues, issue detail panel with quality/improvement output).
  • Improves Sync page UX (sortable table, clearer manual sync button semantics, action button styling) and expands manual sync to include completed repos (incremental).
  • Removes implicit [bot] filtering in the dashboard; bots must now be explicitly configured.

Reviewed changes

Copilot reviewed 19 out of 20 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
frontend/src/pages/SyncPage.tsx Adds sorting, improves manual sync button text/enablement, and updates actions column/buttons.
frontend/src/pages/JiraPage.tsx New Jira UI page with epic/issue browsing, sorting, and a details panel (incl. markdown improvements).
frontend/src/pages/DashboardPage.tsx Removes implicit bot login filtering and renames the page heading.
frontend/src/pages/ConfigPage.tsx Adds Jira + Anthropic settings fields and masks token inputs.
frontend/src/components/Layout.tsx Adds Jira navigation entry, changes dashboard route, and introduces collapsible sidebar.
frontend/src/api/client.ts Adds Jira API client methods and DTO types for Jira pages.
frontend/src/App.tsx Adds /jira and /github routes; redirects //github.
frontend/package.json Adds react-markdown dependency for rendering improved ticket text.
frontend/package-lock.json Locks react-markdown and its dependency tree.
backend/src/main/resources/application.yml Adds anthropic.api-key configuration via env var.
backend/src/main/java/com/githubpulse/service/jira/TicketQualityService.java New Anthropic/Claude-backed ticket quality evaluation service.
backend/src/main/java/com/githubpulse/service/jira/JiraIssueDto.java New Jira issue DTO for epic children.
backend/src/main/java/com/githubpulse/service/jira/JiraIssueDetailDto.java New Jira issue detail DTO (incl. quality/improvement fields).
backend/src/main/java/com/githubpulse/service/jira/JiraEpicDto.java New Jira epic DTO containing child issues.
backend/src/main/java/com/githubpulse/service/jira/JiraClient.java New Jira REST client (epic browsing, issue detail retrieval, ADF text extraction).
backend/src/main/java/com/githubpulse/controller/JiraController.java Exposes Jira API endpoints for the frontend.
backend/src/main/java/com/githubpulse/controller/AdminController.java Manual sync now includes completed repos for incremental updates; response text updated.
README.md Replaces placeholder README with full project overview and usage docs.
Makefile make stop now force-kills processes on common dev ports.
CLAUDE.md Adds repository guidance and commands/architecture notes for Claude Code.
Files not reviewed (1)
  • frontend/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…taint path

Agent-Logs-Url: https://github.com/Bandwidth/github-pulse/sessions/6f8d592e-6073-4bcd-baae-431877533f5f

Co-authored-by: ViktorBilokin <203859598+ViktorBilokin@users.noreply.github.com>
ViktorBilokin and others added 2 commits March 30, 2026 19:55
…java

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
… React reconciliation warnings

Agent-Logs-Url: https://github.com/Bandwidth/github-pulse/sessions/af9fbb8b-b797-4a6f-ba4e-cfe09dc9d22b

Co-authored-by: ViktorBilokin <203859598+ViktorBilokin@users.noreply.github.com>
ViktorBilokin and others added 2 commits March 30, 2026 19:58
…el to collapsed nav links

Agent-Logs-Url: https://github.com/Bandwidth/github-pulse/sessions/0c0c0ee7-2fe4-45ef-8582-f49ed8d5fe5e

Co-authored-by: ViktorBilokin <203859598+ViktorBilokin@users.noreply.github.com>
… button

Agent-Logs-Url: https://github.com/Bandwidth/github-pulse/sessions/14aa9510-dd13-479d-ad15-cf02d9e6acb9

Co-authored-by: ViktorBilokin <203859598+ViktorBilokin@users.noreply.github.com>
@ViktorBilokin ViktorBilokin merged commit 0d41c5e into main Mar 31, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants