44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
# Changelog Generator
|
|
|
|
## Description
|
|
|
|
This Python script allows you to generate changelogs and release notes based on Redmine tickets.
|
|
It uses the OpenAI API to automatically create the changelog entries.
|
|
|
|
## Features
|
|
|
|
- Retrieve projects and versions from Redmine
|
|
- Retrieve tickets for a specific project and version
|
|
- Generate changelog entries based on the ticket information using the OpenAI API
|
|
- Output the changelog in AsciiDoc format
|
|
|
|
## Prerequisites
|
|
|
|
- Python 3.x
|
|
- The following Python packages:
|
|
- urllib
|
|
- json
|
|
- dotenv
|
|
- ssl
|
|
- argparse
|
|
- Redmine API key
|
|
- OpenAI API key
|
|
|
|
## Usage
|
|
|
|
1. Copy the `.env.example` file and rename it to `.env`. Fill in the environment variables `REDMINE_HOST`, `REDMINE_API_KEY`, and `OPENAI_API_KEY` with your access credentials.
|
|
2. Run the script with the following arguments:
|
|
|
|
- `-p, --project`: The project ID for which the changelog should be generated.
|
|
- `-f, --fixed-version`: The version ID for which the changelog should be generated.
|
|
- `-t, --type`: The type of text to be generated (Changelog or Release Notes).
|
|
|
|
3. If you don't provide a project ID or version ID, a list of available projects and versions will be displayed for you to choose from.
|
|
4. The generated changelog will be output in AsciiDoc format on the console.
|
|
|
|
## Examples
|
|
|
|
```bash
|
|
python3 changelog_generator.py -p 47 -f 755 -t Changelog
|
|
python3 changelog_generator.py -p 47 -f 755 -t ReleaseNotes
|
|
```
|