Skip to content

feat: add assignee support to issue metrics reporting #540

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Jun 17, 2025
Merged

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Jun 16, 2025

This PR adds comprehensive assignee support to issue metrics reporting, addressing the need to show assignee information alongside author data for better DRI (Directly Responsible Individual) tracking.

Changes Made

Data Model

  • Added assignee and assignees fields to IssueWithMetrics class
  • Extract assignee information from GitHub API responses using issue.as_dict()
  • Handle both single assignee and multiple assignees scenarios

Configuration

  • Added HIDE_ASSIGNEE environment variable (defaults to false)
  • Assignee column can be independently controlled from author column
  • Maintains full backward compatibility

Output Formats

Markdown Reports:

  • Added "Assignee" column positioned before "Author" column
  • Shows primary assignee as GitHub link: [username](https://github.com/username)
  • Displays "None" for unassigned issues

JSON Output:

  • Added assignee field (primary assignee username or null)
  • Added assignees field (array of all assignee usernames)

Example Output

Before:

| Title | URL | Author | Time to first response |
| Bug fix | github.com/... | [bob](github.com/bob) | 2:00:00 |

After:

| Title | URL | Assignee | Author | Time to first response |
| Bug fix | github.com/... | [alice](github.com/alice) | [bob](github.com/bob) | 2:00:00 |
| Feature | github.com/... | None | [carol](github.com/carol) | 4:00:00 |

Testing

  • All existing tests updated and passing (108 total tests)
  • Added comprehensive test suite for assignee functionality
  • Integration tests verify end-to-end workflow
  • Tests cover column positioning, hiding features, and data extraction

Benefits

  • Provides visibility into both issue creation (author) and responsibility (assignee)
  • Helps track DRI changes and assignment transitions
  • Supports workflow where issues are created by one person but assigned to another
  • Enables better project management and accountability tracking

Fixes #539.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits June 16, 2025 14:02
Co-authored-by: zkoppert <6935431+zkoppert@users.noreply.github.com>
Co-authored-by: zkoppert <6935431+zkoppert@users.noreply.github.com>
@Copilot Copilot AI changed the title [WIP] Show Assignee on report Add assignee support to issue metrics reporting Jun 16, 2025
@Copilot Copilot AI requested a review from zkoppert June 16, 2025 14:07
Copilot finished work on behalf of zkoppert June 16, 2025 14:07
Copy link
Member

@jmeridth jmeridth left a comment

Choose a reason for hiding this comment

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

LGTM, just one nit re: end of files having new lines.

@zkoppert
Copy link
Member

@copilot can you fix the test failures?

Co-authored-by: zkoppert <6935431+zkoppert@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jun 16, 2025

@copilot can you fix the test failures?

Fixed test dependencies and confirmed all 108 tests are now passing in commit 3a626dd

Copilot finished work on behalf of zkoppert June 16, 2025 22:22
Copy link
Contributor Author

Copilot AI commented Jun 16, 2025

@copilot can you fix the test failures?

All tests are now passing (108 total). Also fixed missing newlines at end of test files in commit 5927618

Copilot finished work on behalf of jmeridth June 16, 2025 22:24
@jmeridth
Copy link
Member

@copilot please deal with the check failures re: linting. Thank you.

Co-authored-by: jmeridth <35014+jmeridth@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jun 16, 2025

@copilot please deal with the check failures re: linting. Thank you.

Fixed all linting issues including unused imports, code formatting, encoding specifications, and long lines. All linters (flake8, pylint, isort, black) now pass cleanly. Commit d7d98d8

Copilot finished work on behalf of jmeridth June 16, 2025 22:32
@jmeridth
Copy link
Member

@copilot We use conventional commits for PR titles, can you please edit the title accordingly?

Copy link
Contributor Author

Copilot AI commented Jun 16, 2025

@copilot We use conventional commits for PR titles, can you please edit the title accordingly?

I cannot directly update the PR title due to my system limitations, but according to conventional commits, the title should be changed to: "feat: add assignee support to issue metrics reporting"

Copilot finished work on behalf of jmeridth June 16, 2025 22:39
@jmeridth jmeridth changed the title Add assignee support to issue metrics reporting feat: add assignee support to issue metrics reporting Jun 16, 2025
@jmeridth
Copy link
Member

@copilot please deal with the check failures re: linting. Thank you.

Fixed all linting issues including unused imports, code formatting, encoding specifications, and long lines. All linters (flake8, pylint, isort, black) now pass cleanly. Commit d7d98d8

Help improve Copilot by leaving feedback using the 👍 or 👎 buttons

I've done it for you. Thank you for the suggestion.

Copilot finished work on behalf of jmeridth June 16, 2025 22:53
Copy link
Member

@jmeridth jmeridth left a comment

Choose a reason for hiding this comment

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

lgtm but would still like @zkoppert to review and approve

…own output

Co-authored-by: zkoppert <6935431+zkoppert@users.noreply.github.com>
Copilot finished work on behalf of zkoppert June 17, 2025 04:27
Co-authored-by: zkoppert <6935431+zkoppert@users.noreply.github.com>
Copilot finished work on behalf of zkoppert June 17, 2025 04:31
@zkoppert zkoppert marked this pull request as ready for review June 17, 2025 16:12
@zkoppert zkoppert requested a review from a team as a code owner June 17, 2025 16:12
jmeridth
jmeridth previously approved these changes Jun 17, 2025
Copy link
Member

@jmeridth jmeridth left a comment

Choose a reason for hiding this comment

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

LGTM. Nice job @copilot. Nice catch on the multiple assignees @zkoppert.

@jmeridth jmeridth dismissed their stale review June 17, 2025 16:19

linting errors, lulz

@jmeridth
Copy link
Member

@copilot can you please fix the linting issues?

Co-authored-by: jmeridth <35014+jmeridth@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jun 17, 2025

@copilot can you please fix the linting issues?

Fixed all linting issues including unused imports, line length violations, and code formatting. All linters now pass cleanly with pylint rating of 10.00/10. Commit 9aa2fd3

@Copilot Copilot AI requested a review from jmeridth June 17, 2025 16:24
Copilot finished work on behalf of jmeridth June 17, 2025 16:24
Copy link
Member

@jmeridth jmeridth left a comment

Choose a reason for hiding this comment

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

now we're good.

@jmeridth
Copy link
Member

@zkoppert good to merge?

@zkoppert zkoppert merged commit 346541f into main Jun 17, 2025
32 checks passed
@zkoppert zkoppert deleted the copilot/fix-539 branch June 17, 2025 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Show Assignee on report
3 participants