Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion config/changelog.example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ rules:
# exclude: "ILM"

# Bundle — filtering applied during 'changelog bundle' and 'changelog gh-release'.
# See https://github.com/elastic/docs-builder/blob/main/docs/contribute/configure-changelogs.md#bundle-rule-modes for Mode 1 / 2 / 3 behavior.
# See https://github.com/elastic/docs-builder/blob/main/docs/contribute/configure-changelogs-ref.md#bundle-rule-modes for Mode 1 / 2 / 3 behavior.
#
# Mode 2 (global content): use global lists only — no `products` key, or `products: {}`.
# Example — include changelogs that list elasticsearch OR kibana (evaluated per changelog):
Expand Down
2 changes: 2 additions & 0 deletions docs/_docset.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ toc:
- file: changelog.md
children:
- file: configure-changelogs.md
children:
- file: configure-changelogs-ref.md
- file: create-changelogs.md
- file: bundle-changelogs.md
- file: publish-changelogs.md
Expand Down
8 changes: 4 additions & 4 deletions docs/cli/changelog/bundle.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ You must choose one method for determining what's in the bundle (`--all`, `--inp
- `"* * *"` - match all changelogs (equivalent to `--all`)

:::{note}
The `--input-products` option determines which changelog files are gathered for consideration. **`rules.bundle` is not disabled** when you use `--input-products` — global `include_products` / `exclude_products`, type/area rules, and (when configured) per-product rules still run **after** matching, unless your configuration is in [no-filtering mode](/contribute/configure-changelogs.md#bundle-rule-modes). The only “mutually exclusive” pairing on this command is **profile-based** bundling versus **option-based** flags (see [Usage](#usage)), not `--input-products` versus `rules.bundle`.
The `--input-products` option determines which changelog files are gathered for consideration. **`rules.bundle` is not disabled** when you use `--input-products` — global `include_products` / `exclude_products`, type/area rules, and (when configured) per-product rules still run **after** matching, unless your configuration is in [no-filtering mode](/contribute/configure-changelogs-ref.md#bundle-rule-modes). The only “mutually exclusive” pairing on this command is **profile-based** bundling versus **option-based** flags (see [Usage](#usage)), not `--input-products` versus `rules.bundle`.
:::

`--issues <string[]?>`
Expand All @@ -122,7 +122,7 @@ The `--input-products` option determines which changelog files are gathered for
`--output-products <List<ProductInfo>?>`
: Optional: Explicitly set the products array in the output file in format "product target lifecycle, ...".
: This value replaces information that would otherwise be derived from changelogs.
: When `rules.bundle.products` per-product overrides are configured, `--output-products` also supplies the product IDs used to choose the **rule context product** (first alphabetically) for Mode 3. To use a different product's rules, run a separate bundle with only that product in `--output-products`. For details, refer to [Product-specific bundle rules](/contribute/configure-changelogs.md#rules-bundle-products).
: When `rules.bundle.products` per-product overrides are configured, `--output-products` also supplies the product IDs used to choose the **rule context product** (first alphabetically) for Mode 3. To use a different product's rules, run a separate bundle with only that product in `--output-products`. For details, refer to [Product-specific bundle rules](/contribute/configure-changelogs-ref.md#rules-bundle-products).

`--owner <string?>`
: Optional: The GitHub repository owner, required when pull requests or issues are specified as numbers.
Expand Down Expand Up @@ -243,7 +243,7 @@ This may result in broken links if the product ID doesn't match the GitHub repos

The `rules.bundle` section in the changelog configuration file lets you filter entries during bundling. It applies to both `changelog bundle` and `changelog gh-release`, after entries are matched by the primary filter (`--prs`, `--issues`, `--all`, **`--input-products`**, and so on) and before the bundle is written.

Which `rules.bundle` fields take effect depends on the [bundle rule modes](/contribute/configure-changelogs.md#bundle-rule-modes) (no filtering, global rules against each changelog’s content, or per-product rule context). Input stage (gathering entries) and bundle filtering stage (filtering for output) are conceptually separate.
Which `rules.bundle` fields take effect depends on the [bundle rule modes](/contribute/configure-changelogs-ref.md#bundle-rule-modes) (no filtering, global rules against each changelog’s content, or per-product rule context). Input stage (gathering entries) and bundle filtering stage (filtering for output) are conceptually separate.

The following fields are supported:

Expand Down Expand Up @@ -272,7 +272,7 @@ The following fields are supported:
: Match mode for the area filter (`any`, `all`, or `conjunction`). Inherits from `rules.match` when not specified.

`products`
: Per-product filter overrides for **all filter types** (product, type, area). Keys are product IDs (or comma-separated lists). When this map is **non-empty**, the bundler uses **per-product rule context** mode: global `rules.bundle` product/type/area fields are **not** used for filtering (repeat constraints under each product key if you still need them). For details, refer to [Bundle rule modes](/contribute/configure-changelogs.md#bundle-rule-modes) and [Product-specific bundle rules](/contribute/configure-changelogs.md#rules-bundle-products).
: Per-product filter overrides for **all filter types** (product, type, area). Keys are product IDs (or comma-separated lists). When this map is **non-empty**, the bundler uses **per-product rule context** mode: global `rules.bundle` product/type/area fields are **not** used for filtering (repeat constraints under each product key if you still need them). For details, refer to [Bundle rule modes](/contribute/configure-changelogs-ref.md#bundle-rule-modes) and [Product-specific bundle rules](/contribute/configure-changelogs-ref.md#rules-bundle-products).

```yaml
rules:
Expand Down
4 changes: 2 additions & 2 deletions docs/cli/changelog/gh-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ The product, target version, and lifecycle are inferred automatically from the r
## Configuration

The `rules.bundle` section of your `changelog.yml` applies to bundles created by this command (after changelog files are gathered from the release).
Which fields take effect depends on [bundle rule modes](/contribute/configure-changelogs.md#bundle-rule-modes).
Which fields take effect depends on [bundle rule modes](/contribute/configure-changelogs-ref.md#bundle-rule-modes).
For details, refer to [Rules for filtered bundles](/cli/changelog/bundle.md#changelog-bundle-rules).
If you use per-product rule overrides, refer to [Product-specific bundle rules](/contribute/configure-changelogs.md#rules-bundle-products).
If you use per-product rule overrides, refer to [Product-specific bundle rules](/contribute/configure-changelogs-ref.md#rules-bundle-products).

## Examples

Expand Down
2 changes: 1 addition & 1 deletion docs/contribute/bundle-changelogs.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ You can specify only one of the following filter options:
- `--release-version`: Bundle changelogs for the pull requests in GitHub release notes. Refer to [Bundle by GitHub release](#changelog-bundle-release-version).
- `--report`: Include changelogs whose pull requests appear in a promotion report. Accepts a URL or a local file path to an HTML report.

`rules.bundle` in `changelog.yml` is **not** mutually exclusive with these options: it runs as a **second stage** after the primary filter matches entries (for example, `--input-products` gathers changelogs, then global or per-product bundle rules may exclude some). The only mutually exclusive pairing is **profile-based** versus **option-based** invocation. See [bundle rule modes](/contribute/configure-changelogs.md#bundle-rule-modes).
`rules.bundle` in `changelog.yml` is **not** mutually exclusive with these options: it runs as a **second stage** after the primary filter matches entries (for example, `--input-products` gathers changelogs, then global or per-product bundle rules may exclude some). The only mutually exclusive pairing is **profile-based** versus **option-based** invocation. See [bundle rule modes](/contribute/configure-changelogs-ref.md#bundle-rule-modes).

By default, the output file contains only the changelog file names and checksums.
To change this behavior, set `bundle.resolve` to `true` in the changelog configuration file or use the `--resolve` command option.
Expand Down
Loading
Loading