Skip to content

Update GitHub issue retrieval to return closed issues with state details - #675

Open
conorheffron with Copilot wants to merge 5 commits into
mainfrom
copilot/alter-github-get-requests
Open

Update GitHub issue retrieval to return closed issues with state details#675
conorheffron with Copilot wants to merge 5 commits into
mainfrom
copilot/alter-github-get-requests

Conversation

Copilot AI commented May 23, 2026

Copy link
Copy Markdown
Contributor

The issues API path currently fetches a broader issue set and does not consistently surface closed issue state in expected responses. This change scopes GitHub issue GET requests to closed issues and aligns service/integration expectations with closed-issue payloads.

  • API request behavior

    • Updated GitHub issues endpoint config to request closed issues:
      • state=allstate=closed
    • File: src/main/resources/application.yml
  • Issue payload expectations

    • Updated test fixture issue payloads to include explicit closed state.
    • File: src/test/resources/json/test_issues_response.json
  • Service + controller contract alignment

    • Updated backend tests to assert closed issue state is preserved through DTO/domain mapping and controller JSON responses.
    • Files:
      • src/test/java/net/ironoc/portfolio/service/GitDetailsServiceTest.java
      • src/test/java/net/ironoc/portfolio/controller/GitProjectsControllerIntegrationTest.java
# src/main/resources/application.yml
issues: https://api.github.com/repos/{username}/{repo}/issues?per_page={per_page}&page={page}&state=closed

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • ads.mozilla.org
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette -headless -no-remote -profile /tmp/rust_mozprofileXXoLDy (dns block)
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette --headless --disable-gpu --window-size=1920,1080 -no-remote -profile /tmp/rust_mozprofileSs9yiL (dns block)
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette --headless --disable-gpu --window-size=1920,1080 -no-remote -profile /tmp/rust_mozprofileIVguXw (dns block)
  • detectportal.firefox.com
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette --headless --disable-gpu --window-size=1920,1080 -no-remote -profile /tmp/rust_mozprofileSs9yiL (dns block)
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette --headless --disable-gpu --window-size=1920,1080 -no-remote -profile /tmp/rust_mozprofileIVguXw (dns block)
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette -headless -no-remote -profile /tmp/rust_mozprofileXXoLDy (dns block)
  • firefox.settings.services.mozilla.com
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette --headless --disable-gpu --window-size=1920,1080 -no-remote -profile /tmp/rust_mozprofileSs9yiL (dns block)
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette --headless --disable-gpu --window-size=1920,1080 -no-remote -profile /tmp/rust_mozprofileIVguXw (dns block)
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette -headless -no-remote -profile /tmp/rust_mozprofileXXoLDy (dns block)
  • incoming.telemetry.mozilla.org
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette -headless -no-remote -profile /tmp/rust_mozprofileXXoLDy (dns block)
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette --headless --disable-gpu --window-size=1920,1080 -no-remote -profile /tmp/rust_mozprofileIVguXw (dns block)
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette --headless --disable-gpu --window-size=1920,1080 -no-remote -profile /tmp/rust_mozprofileSs9yiL (dns block)
  • ironoc.net
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette -headless -no-remote -profile /tmp/rust_mozprofileXXoLDy (dns block)
  • support.mozilla.org
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette --headless --disable-gpu --window-size=1920,1080 -no-remote -profile /tmp/rust_mozprofileSs9yiL (dns block)
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette --headless --disable-gpu --window-size=1920,1080 -no-remote -profile /tmp/rust_mozprofileIVguXw (dns block)
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette --headless --disable-gpu --window-size=1920,1080 -no-remote -profile /tmp/rust_mozprofileeIGkac (dns block)
  • www.ironoc.net
    • Triggering command: /usr/lib/firefox/firefox /usr/lib/firefox/firefox --marionette -headless -no-remote -profile /tmp/rust_mozprofileXXoLDy (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title [WIP] Enhance iRonoc API to pull closed issues Update GitHub issue retrieval to return closed issues with state details May 23, 2026
Copilot AI requested a review from conorheffron May 23, 2026 19:35
@conorheffron
conorheffron requested a review from Copilot May 24, 2026 14:32
@conorheffron conorheffron added enhancement New feature or request ui-frontend java-be Java / Server Side Tasks java Pull requests that update Java code javascript Pull requests that update Javascript code duplicate This issue or pull request already exists labels May 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the backend GitHub-issues retrieval to explicitly request closed issues and ensures the issue state field is preserved end-to-end (GitHub payload → DTO → domain → controller JSON), aligning tests and fixtures with the closed-issue contract.

Changes:

  • Updated the configured GitHub issues endpoint to request state=closed (previously state=all).
  • Updated the issues JSON test fixture to include "state": "closed".
  • Updated unit/integration tests to assert state is mapped and returned as "closed".

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
src/main/resources/application.yml Changes GitHub issues endpoint query to state=closed.
src/test/resources/json/test_issues_response.json Adds explicit "state": "closed" to fixture issues.
src/test/java/net/ironoc/portfolio/service/GitDetailsServiceTest.java Updates issues endpoint constant and asserts state is mapped into DTO/domain.
src/test/java/net/ironoc/portfolio/controller/GitProjectsControllerIntegrationTest.java Updates expected controller JSON to include "state":"closed".

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

@conorheffron
conorheffron marked this pull request as ready for review June 14, 2026 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

duplicate This issue or pull request already exists enhancement New feature or request java Pull requests that update Java code java-be Java / Server Side Tasks javascript Pull requests that update Javascript code ui-frontend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

iRonoc API: Alter GitHub GET requests to pull closed issues

3 participants