I would like to take on this task.
I’m relatively new to the community and have spent some time exploring the SageMath repo. I believe I can tackle this issue. Here’s my plan:
We can write a script using the GitHub API to automate changelog creation in the same format as the ones at https://www.sagemath.org/changelogs .
The idea is to first retrieve the IDs of all merged PRs from GitHub releases (such as https://github.com/sagemath/sage/releases/tag/10.0), then use the API again to get detailed information about each PR.
Fetching Reviewer Info: We could use
"list reviews for a pull request" endpoint of the api (https://docs.github.com/en/rest/pulls/reviews?apiVersion=2022-11-28#list-reviews-for-a-pull-request).
Identifying Multiple Authors: In case a PR has multiple authors, we can extract all the commits from the PR and identify the authors for each commit using the "list commits on a pull request" endpoint (https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#list-commits-on-a-pull-request).
Once the changelogs are generated in old formats, they will automatically update the contributor messages (like "Contributions to Sage 5.x, 6.x, 7.x") on the development map.
For contributors who don’t have location info in the contributors.xml, we can retrieve it from their public GitHub profiles (if available).
Let me know if this approach works or if adjustments are needed.
We can write a script using the GitHub API to automate changelog creation in the same format as the ones at https://www.sagemath.org/changelogs . The idea is to first retrieve the IDs of all merged PRs from GitHub releases (such as https://github.com/sagemath/sage/releases/tag/10.0), then use the API again to get detailed information about each PR.
Fetching Reviewer Info: We could use "list reviews for a pull request" endpoint of the api (https://docs.github.com/en/rest/pulls/reviews?apiVersion=2022-11-28#list-reviews-for-a-pull-request).
Identifying Multiple Authors: In case a PR has multiple authors, we can extract all the commits from the PR and identify the authors for each commit using the "list commits on a pull request" endpoint (https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#list-commits-on-a-pull-request).
Once the changelogs are generated in old formats, they will automatically update the contributor messages (like "Contributions to Sage 5.x, 6.x, 7.x") on the development map.For contributors who don’t have location info in the contributors.xml, we can retrieve it from their public GitHub profiles (if available).
Let me know if this approach works or if adjustments are needed.