AbsaOSS / AbsaOSS/generate-release-notes

Feature: Robust Placeholder System and Output Formatting Engine

Aperta
#226 1 commento 1 reazione 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Python
Stelle
13
Fork
0
Merge medio
6h 50m
PR unite (30g)
7

Descrizione

### Feature Description

Implement a configurable, extensible placeholder system for generated release notes, supporting advanced formatting capabilities such as:
- New placeholder types (e.g., {closed-sub-issues-ratio}, custom contributors, etc.)
- User-defined prefix/postfix support and row formatting controls
- Contributor and user replacement mapping
- Chapter line formatting

### Problem / Opportunity

Current formatting via placeholders is inflexible for complex workflows: users are limited in the formatting of entries, cannot always add missing context or structure, and business requirements (such as custom contributor display or new rules for entry presence/ratio) are not easily satisfied by the template system. A robust system will improve output control for a range of documentation and compliance needs.

### Acceptance Criteria

- Users can add and use new placeholders in configuration.
- Formatting supports prefix, postfix, and row-level control.
- Contributors and co-authors are accessible via placeholders.
- Placeholder parsing is fully unit-tested (edge cases).
- Documentation includes usage and migration guides.
- User replacement mapping is supported in configuration.

### Proposed Solution

Build a flexible parsing engine for placeholders using a config-driven grammar. Enhance documentation and provide test cases for new features. Investigate backward compatibility layer or a migration guide for breaking changes.

### Dependencies / Related

#205, #189, #80, #78, #76, #56, #97

### Additional Context

This feature supports a wide range of release documentation requirements and is foundational for many governance and compliance use cases.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.