Skip to content

Service chapter exclude #298

@miroslavpojer

Description

@miroslavpojer

Feature Description

Add support for label-based exclusion rules on individual service chapters. Each rule is a group of labels that must all be present on an issue (AND logic) for the issue to be excluded from that chapter. Multiple independent groups can be defined per chapter — groups are evaluated with OR logic (if any group matches, the issue is excluded).

Problem / Opportunity

Service chapters such as "Closed Issues without Pull Request" currently collect all qualifying issues with no way to filter out noise. Teams use label combinations like scope:security + type:tech-debt to mark issues intentionally closed without a PR (e.g. false-positive security alerts). Without exclusion rules, these flood the chapter and obscure genuinely actionable items.

Acceptance Criteria

  1. Each service chapter definition accepts an optional exclude field containing a list of label groups.
  2. A label group is a list of label strings — all labels in the group must be present on an issue for it to be excluded (AND logic within a group).
  3. Multiple groups are supported per chapter; an issue matching any single group is excluded (OR logic across groups).
  4. Issues excluded this way do not appear in any other chapter (silently dropped).
  5. If exclude is omitted or empty, chapter behaviour is unchanged.
  6. Invalid or unrecognised labels in exclude are ignored without error.
  7. Configuration syntax and behaviour are documented with examples.

Proposed Solution

Add a new action input service-chapter-exclude that maps service chapter titles to one or more label-exclusion groups. Each group is a list of labels that must all be present (AND); an issue matching any group is excluded from that chapter (OR across groups).

Example action.yml usage:

- uses: AbsaOSS/generate-release-notes@v1
  with:
    service-chapter-exclude: |
      Closed Issues without Pull Request ⚠️:
        - [scope:security, type:tech-debt]
        - [scope:security, type:false-positive]

### Dependencies / Related

```markdown
- `docs/features/service_chapters.md` — service chapter configuration reference

### Additional Context

First concrete use case: the "Closed Issues without Pull Request" chapter in the AUL project receives large numbers of `[SEC][FP=...]` security false-positive issues (labelled `scope:security` + `type:tech-debt`) that are closed without a PR by design. These should be excludable without hiding other legitimate issues that genuinely lack a PR.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions