Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
ec47686
Add product label blockers to changelog creation
lcawl Dec 12, 2025
7d8e214
Potential fix for pull request finding 'Missed opportunity to use Where'
lcawl Dec 12, 2025
a39028b
Update CLI docs
lcawl Dec 12, 2025
44458f9
Potential fix for pull request finding 'Missed opportunity to use Sel…
lcawl Dec 12, 2025
a77aa00
Potential fix for pull request finding 'Missed opportunity to use Where'
lcawl Dec 12, 2025
1bb1f9a
Add docs and tests
lcawl Dec 12, 2025
2c6ddc5
Fix link
lcawl Dec 12, 2025
473fa81
Re-add cli files
lcawl Dec 13, 2025
ae74f3c
Remove cli release docs
lcawl Dec 13, 2025
d7ba7a6
Improve docs
lcawl Dec 13, 2025
38aaa93
Revert docs filename change
lcawl Dec 13, 2025
4222160
Fix link
lcawl Dec 13, 2025
5e2239f
Update docsbuilder changelog add to handle PR fetch failures (#2407)
lcawl Jan 5, 2026
097a2a1
Potential fix for pull request finding 'Dereferenced variable may be …
lcawl Jan 5, 2026
3ffa996
Change keyword,add multi-product support
lcawl Jan 6, 2026
2f88f7b
Add file support to docs-builder changelog add --prs option (#2453)
lcawl Jan 13, 2026
a443953
Potential fix for pull request finding 'Missed opportunity to use Where'
lcawl Jan 13, 2026
420e533
Potential fix for pull request finding 'Missed opportunity to use Where'
lcawl Jan 13, 2026
4517f1e
Potential fix for pull request finding 'Generic catch clause'
lcawl Jan 13, 2026
ebcae58
Potential fix for pull request finding 'Missed opportunity to use Sel…
lcawl Jan 13, 2026
63588d8
Small touches to ChangelogCommand
cotti Jan 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions config/changelog.yml.example
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,17 @@ label_to_areas:
# "area:index": index-management
# "area:multiple": "search, security" # Multiple areas comma-separated

# Product-specific label blockers (optional)
# Maps product IDs to lists of pull request labels that prevent changelog creation for that product
# If you run the changelog add command with the --prs option and a PR has any of these labels, the changelog is not created
# Product IDs can be comma-separated to share the same list of labels across multiple products
add_blockers:
# Example: Skip changelog creation for elasticsearch product when PR has these labels
# elasticsearch:
# - ">non-issue"
# - ">test"
# - ">refactoring"
# Example: Share the same blockers across multiple products using comma-separated product IDs
# elasticsearch, cloud-serverless:
# - ">non-issue"

1 change: 1 addition & 0 deletions docs-builder.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
<Project Path="tests/Elastic.Documentation.LegacyDocs.Tests/Elastic.Documentation.LegacyDocs.Tests.csproj" />
<Project Path="tests/Elastic.Markdown.Tests/Elastic.Markdown.Tests.csproj" />
<Project Path="tests/Navigation.Tests/Navigation.Tests.csproj" />
<Project Path="tests/Elastic.Documentation.Services.Tests/Elastic.Documentation.Services.Tests.csproj" />
</Folder>
<Project Path=".github/.github.csproj">
<Build Project="false" />
Expand Down
4 changes: 2 additions & 2 deletions docs/cli/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ These commands can be roughly grouped into four main categories
- [Documentation Set commands](#documentation-set-commands)
- [Link commands](#link-commands)
- [Assembler commands](#assembler-commands)
- [Release doc commands](#release-doc-commands)
- [Changelog commands](#changelog-commands)

### Global options

Expand Down Expand Up @@ -47,7 +47,7 @@ Assembler builds bring together all isolated documentation set builds and turn t

[See available CLI commands for assembler](assembler/index.md)

## Release doc commands
## Changelog commands

Commands that pertain to creating and publishing product release documentation.

Expand Down
10 changes: 8 additions & 2 deletions docs/cli/release/changelog-add.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,16 @@ docs-builder changelog add [options...] [-h|--help]
: The valid product identifiers are listed in [products.yml](https://github.com/elastic/docs-builder/blob/main/config/products.yml).
: The valid lifecycles are listed in [ChangelogConfiguration.cs](https://github.com/elastic/docs-builder/blob/main/src/services/Elastic.Documentation.Services/Changelog/ChangelogConfiguration.cs).

`--pr <string?>`
: Optional: Pull request URL or number (if `--owner` and `--repo` are provided).
`--prs <string[]?>`
: Optional: Pull request URLs or numbers (comma-separated), or a path to a newline-delimited file containing PR URLs or numbers. Can be specified multiple times.
: Each occurrence can be either comma-separated PRs (e.g., `--prs "https://github.com/owner/repo/pull/123,6789"`) or a file path (e.g., `--prs /path/to/file.txt`).
: When specifying PRs directly, provide comma-separated values.
: When specifying a file path, provide a single value that points to a newline-delimited file.
: If `--owner` and `--repo` are provided, PR numbers can be used instead of URLs.
: If specified, `--title` can be derived from the PR.
: If mappings are configured, `--areas` and `--type` can also be derived from the PR.
: Creates one changelog file per PR.
: If `add_blockers` are configured in the changelog configuration file and a PR has a blocking label for any product in `--products`, that PR is skipped and no changelog file is created for it.

`--repo <string?>`
: Optional: GitHub repository name (used when `--pr` is just a number).
Expand Down
6 changes: 2 additions & 4 deletions docs/cli/release/index.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
---
navigation_title: "release"
navigation_title: "changelog"
---

# Release doc commands
# Changelog commands

These commands are associated with product release documentation.

## Changelog commands

- [changelog add](changelog-add.md) - Create a changelog file
208 changes: 150 additions & 58 deletions docs/contribute/changelog.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,13 @@ public class ChangelogConfiguration
/// </summary>
public Dictionary<string, string>? LabelToAreas { get; set; }

/// <summary>
/// Product-specific label blocking configuration
/// Maps product IDs to lists of labels that should prevent changelog creation for that product
/// Keys can be comma-separated product IDs to share the same list of labels across multiple products
/// </summary>
public Dictionary<string, List<string>>? AddBlockers { get; set; }

public static ChangelogConfiguration Default => new();
}

Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public class ChangelogInput
public required List<ProductInfo> Products { get; set; }
public string? Subtype { get; set; }
public string[] Areas { get; set; } = [];
public string? Pr { get; set; }
public string[]? Prs { get; set; }
public string? Owner { get; set; }
public string? Repo { get; set; }
public string[] Issues { get; set; } = [];
Expand Down
Loading
Loading