logo
0
2
WeChat Login

Range Changelog Plugin

Get Release Body for specified Tag or Tag range, and support filtering, processing and extraction of PRs that appear in it (e.g., extracting highlight features).

Features

  • 📋 Changelog Extraction: Extract and concatenate changelog content from all releases in a specified tag range
  • 🎯 Highlight Features Extraction: Extract detailed descriptions and comments from PRs with specified labels (e.g., highlight features)
  • 🔒 Content Desensitization: Automatically remove sensitive information such as commit IDs, links, usernames, and PR IDs
  • ⚠️ Breaking Changes Summary: Automatically extract and merge all breaking changes

Plugin Details

Plugin Image Name

cnbcool/range-changelog:v1.1.3

Parameter Description

Plugin Parameters (via settings)

  • start_tag: Required. Start Tag.
  • end_tag: Required. End Tag.
  • output: Required. Output file path.
  • pr_label: Required. The label of PRs that should be filtered out. For example, within a Tag range, some PRs have specific labels. This parameter can be used to filter them out for further processing and place them at the front of the final output.
  • comment_pattern: Required. Regular expression for matching comments, e.g., ^#+\s+高亮特性, which means the comment starts with 1+ # + space + 高亮特性.
  • custom_content: Optional. Custom content that will be inserted after the ## Changelog title. Supports multi-line text.

CNB Environment Variables (automatically provided)

  • CNB_REPO_SLUG: Required. Repository slug, format like cnb/monorepo.
  • CNB_API_ENDPOINT: Required. CNB API base URL.
  • CNB_TOKEN: Optional. CNB API authentication token for accessing private repositories or authenticated APIs.

Using the Plugin in CNB

$: web_trigger_get_range_changelog: - stages: - name: Get Range Changelog image: cnbcool/range-changelog:v1.1.3 settings: start_tag: 1.11.19 end_tag: 1.13.22 output: 1.11.19-1.13.22.range-changelog.md pr_label: 高亮特性 comment_pattern: "^#+\s+高亮特性" custom_content: | This update includes the following important changes: - Performance improvements - New features - Bug fixes

Note: CNB_REPO_SLUG, CNB_API_ENDPOINT, and CNB_TOKEN are automatically provided by the CNB platform and do not need to be manually set in the configuration.

Output File Format Explanation

## Changelog (1.12.0 - 1.13.5) [If custom_content is set, custom content will be inserted here] ### 🎯 Highlight Features [Extracted highlight features list here] ### ⚠️ Breaking Changes Summary [Extracted breaking changes summary list here] ## 1.13.5 [Extracted Release Body content for 1.13.5 here] ## 1.13.4 [Extracted Release Body content for 1.13.4 here] ... ## 1.12.0 [Extracted Release Body content for 1.12.0 here]

Environment Variables

The plugin depends on the following environment variables provided by the CNB platform:

Environment VariableDescriptionRequired
CNB_REPO_SLUGRepository slug, format like cnb/monorepoYes
CNB_API_ENDPOINTCNB API base URLYes
CNB_TOKENCNB API authentication tokenNo

These environment variables are automatically provided by the CNB platform and usually do not need to be manually set.

About

获取指定 Tag 或指定 Tag 范围的 Release Body,并支持对其中出现的 PR 进行加工提取(比如提取出高亮特性)

Language
Python99.3%
Dockerfile0.7%