Skip to content
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

Development of a Tool for Generating Changelogs Based on Git Commit History and Issues #1

Open
2 of 3 tasks
siberianlove opened this issue Feb 18, 2024 · 0 comments
Open
2 of 3 tasks
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@siberianlove
Copy link
Owner

siberianlove commented Feb 18, 2024

Description:

Task to develop a tool that automates the generation of changelogs for majority kind of projects. The aim is to create a solution that extracts version history and corresponding changes from git commit logs and a file defining the app version (initially pom.xml). Furthermore, each commit message typically references an issue from issue tracker, allowing for a comprehensive changelog linking directly to resolved issues for more detailed context. Initially, the tool should integrate with the Redmine issue tracker to pull in detailed descriptions and titles from issues referenced in commit messages.

Requirements:

  1. Git Commit History Parsing: The tool should analyze the git commit history to identify version changes and associated commits. Version changes can be detected through changes to a specific file (e.g., pom.xml), where a new version number is defined.

  2. Issue Tracker Integration (Redmine): Upon identifying the relevant commits for a version change, the tool must fetch detailed information (e.g., title, description) from the Redmine issue tracker based on issues referenced in the commit messages.

  3. Changelog Generation: Leverage the information gathered from the git history and Redmine to generate a comprehensive changelog. The changelog should include version numbers, dates, list of changes (with emphasis on features, fixes, and breaking changes), and links to the detailed issue pages for users to explore further.

  4. User Interface: While the first iteration can focus on a Command-Line Interface (CLI), plans for a simple graphical user interface (GUI) for configuring and running the tool would be cool.

  5. Flexibility and Extensibility: The tool should be designed with extensibility in mind, allowing future support for other issue trackers (e.g., Jira, GitHub Issues) and different file types for version management beyond pom.xml (e.g., package.json, csproj).

Deliverables:

  • A working tool capable of generating changelogs as described above.
  • Documentation on how to set up, configure, and use the tool.
  • A brief report outlining the approach taken, challenges faced, and suggestions for future extensions.
siberianlove added a commit that referenced this issue Feb 18, 2024
@siberianlove siberianlove self-assigned this Feb 18, 2024
@siberianlove siberianlove added documentation Improvements or additions to documentation enhancement New feature or request labels Feb 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant