github / issue-metrics

Gather metrics on issues/prs/discussions such as time to first response, count of issues opened, closed, etc.
https://github.blog/2023-07-19-metrics-for-issues-pull-requests-and-discussions/
MIT License
424 stars 55 forks source link

Combining multiple reports into a single GitHub issue #156

Open spier opened 1 year ago

spier commented 1 year ago

In https://github.com/InnerSourceCommons/InnerSourcePatterns/pull/599 I learned that it is possible already to merge multiple reports into a single reports by apply a smart concatenation of multiple GHA steps. Very cool!

Here an example of how the resulting combined report looks like: https://github.com/InnerSourceCommons/InnerSourcePatterns/issues/601

I had some possible improvement ideas, related to this "combined reports" scenario:

Custom report title

The top-level title in the GitHub issue is always "Issue Metrics" right now. That is not really an issue if the GitHub issue only contains a single report, as the title of the GitHub issue itself can be used to provide a customized description of what the report is about.

However when a single GitHub issue contains multiple reports, this becomes more tricky.

Therefore we could add a configuration value REPORT_TITLE, roughly like this:

field required default description
REPORT_TITLE false "Issue Metrics" A custom title that will be printed at the very top of the report. Note: Most useful when combining multiple reports into a single issue.

Custom output file

The issue_metrics GHA always writes to the file issue_metrics.md.

When combining multiple reports into a single issue it would be helpful to write to different filenames, so that those files can then be concatenated into a single file, which is then written to a GitHub issue.

field required default description
OUTPUT_FILE false issue_metrics.md A custom output file that the report will be written to. Note: Most useful when combining multiple reports into a single issue.

Always print the title and the search query

As shown in https://github.com/InnerSourceCommons/InnerSourcePatterns/issues/601, an empty report will only say "no issues found for the given search criteria".

It would be helpful to always print the title, as well as the search query that was used.

That helps will debugging and identifying what the specific report was meant to be about.

### Tasks
- [ ] https://github.com/github/issue-metrics/pull/157
- [ ] https://github.com/github/issue-metrics/pull/160
spier commented 1 year ago

@zkoppert looking forward to your feedback on this.

If you were considering to integrate a multi-report feature into the core functionality of issue-metrics itself, then some of the ideas above wouldn't be that useful any more.

zkoppert commented 1 year ago

Yeah, these are great ideas!! I think that these are ready to implement as you described them here. I'll start by tackling the last one of always printing the title and search query: https://github.com/github/issue-metrics/pull/157

spier commented 1 year ago

Awesome!

I will also try myself on one of the other ones. They sound like they shouldn't be too hard to implement but of course the devil is in the detail :) I think I will need with creating tests, as I wasn't clear from a first read of the repo what the testing approach is. So likely I will push the functionality with a minimal test, and then ask for review and help with further tests.

github-actions[bot] commented 8 months ago

This issue is stale because it has been open 21 days with no activity. Remove stale label or comment or this will be closed in 14 days.

Piedone commented 5 months ago

FYI here's an example of how we combine reports for Orchard Core. As you can see, not too complex, we just concat files in PowerShell.