You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# For details and examples, refer to the [rules documentation](https://github.com/elastic/docs-builder/blob/main/docs/contribute/changelog.md#rules-for-creation-and-bundling).
153
+
# For details and examples, refer to the [rules documentation](https://github.com/elastic/docs-builder/blob/main/docs/contribute/configure-changelogs.md#rules).
154
154
rules:
155
155
# match: any
156
156
@@ -169,7 +169,7 @@ rules:
169
169
# exclude: "ILM"
170
170
171
171
# Bundle — filtering applied during 'changelog bundle' and 'changelog gh-release'.
172
-
# See docs/contribute/changelog.md → "Bundle rulemodes" for Mode 1 / 2 / 3 behavior.
172
+
# See https://github.com/elastic/docs-builder/blob/main/docs/contribute/configure-changelogs.md#bundle-rule-modes for Mode 1 / 2 / 3 behavior.
173
173
#
174
174
# Mode 2 (global content): use global lists only — no `products` key, or `products: {}`.
175
175
# Example — include changelogs that list elasticsearch OR kibana (evaluated per changelog):
@@ -213,7 +213,7 @@ bundle:
213
213
# Whether to resolve (copy contents) by default
214
214
resolve: true
215
215
# Optional: default description text for bundles. Supports {version}, {lifecycle}, {owner}, and {repo} placeholders.
216
-
# Use YAML literal block scalar (|) for multiline descriptions. See docs/contribute/changelog.md for examples.
216
+
# Use YAML literal block scalar (|) for multiline descriptions.
217
217
# description: |
218
218
# This release includes new features and bug fixes.
Copy file name to clipboardExpand all lines: docs/cli/changelog/add.md
+17-1Lines changed: 17 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# changelog add
2
2
3
3
Create a changelog file that describes a single item in the release documentation.
4
-
For details and examples, go to [](/contribute/changelog.md).
4
+
For details and examples, go to [](/contribute/create-changelogs.md).
5
5
6
6
## Usage
7
7
@@ -169,3 +169,19 @@ When you run the `changelog add` command without the `--products` option, it res
169
169
5.**Error** — if none of the above resolves to at least one product, an error is raised.
170
170
171
171
Product-specific `rules.create` rules are evaluated *after* products are resolved from labels, so label-derived products correctly participate in per-product create rule checks.
172
+
173
+
## Configuration checks
174
+
175
+
By default, the command checks the following path for a configuration file: `docs/changelog.yml`.
176
+
You can specify a different path with the `--config` command option.
177
+
178
+
If a configuration file exists, the command validates its values before generating changelog files:
179
+
180
+
- If the configuration file contains `lifecycles`, `products`, `subtype`, or `type` values that don't match the values in `ChangelogEntryType.cs`, `ChangelogEntrySubtype.cs`, or `Lifecycle.cs`, validation fails.
181
+
- If the configuration file contains `areas` values and they don't match what you specify in the `--areas` command option, validation fails.
182
+
- If the configuration file contains `lifecycles` or `products` values that are a subset of the available values and you try to create a changelog with values outside that subset, validation fails.
183
+
184
+
In each of these cases where validation fails, a changelog file is not created.
185
+
186
+
If the configuration file contains `rules.create` definitions and a PR or issue has a blocking label, that PR is skipped and no changelog file is created for it.
187
+
For more information, refer to [Rules for creation and publishing](/contribute/configure-changelogs.md#rules).
Copy file name to clipboardExpand all lines: docs/cli/changelog/bundle.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -93,7 +93,7 @@ You must choose one method for determining what's in the bundle (`--all`, `--inp
93
93
94
94
`--input-products <List<ProductInfo>?>`
95
95
: Filter by products in the format "product target lifecycle, ...".
96
-
: For more information about the valid product and lifecycle values, go to [Product format](/contribute/changelog.md#product-format).
96
+
: For more information about the valid product and lifecycle values, go to [Product format](/contribute/create-changelogs.md#product-format).
97
97
: When specified, all three parts (product, target, lifecycle) are required but can be wildcards (`*`). Multiple comma-separated values are combined with OR: a changelog is included if it matches any of the specified product/target/lifecycle combinations. For example:
98
98
99
99
-`"cloud-serverless 2025-12-02 ga, cloud-serverless 2025-12-06 beta"` — include changelogs for either cloud-serverless 2025-12-02 ga or cloud-serverless 2025-12-06 beta
@@ -103,7 +103,7 @@ You must choose one method for determining what's in the bundle (`--all`, `--inp
103
103
-`"* * *"` - match all changelogs (equivalent to `--all`)
104
104
105
105
:::{note}
106
-
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/changelog.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`.
106
+
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`.
107
107
:::
108
108
109
109
`--issues <string[]?>`
@@ -122,7 +122,7 @@ The `--input-products` option determines which changelog files are gathered for
122
122
`--output-products <List<ProductInfo>?>`
123
123
: Optional: Explicitly set the products array in the output file in format "product target lifecycle, ...".
124
124
: This value replaces information that would otherwise be derived from changelogs.
125
-
: 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 [Single-product rule resolution algorithm](/contribute/changelog.md#changelog-bundle-rule-resolution).
125
+
: 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).
126
126
127
127
`--owner <string?>`
128
128
: Optional: The GitHub repository owner, required when pull requests or issues are specified as numbers.
@@ -243,7 +243,7 @@ This may result in broken links if the product ID doesn't match the GitHub repos
243
243
244
244
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.
245
245
246
-
Which `rules.bundle` fields take effect depends on the [bundle rule modes](/contribute/changelog.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.
246
+
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.
247
247
248
248
The following fields are supported:
249
249
@@ -272,7 +272,7 @@ The following fields are supported:
272
272
: Match mode for the area filter (`any`, `all`, or `conjunction`). Inherits from `rules.match` when not specified.
273
273
274
274
`products`
275
-
: 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/changelog.md#bundle-rule-modes) and [Single-product rule resolution (Mode 3 only)](/contribute/changelog.md#changelog-bundle-rule-resolution).
275
+
: 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).
276
276
277
277
```yaml
278
278
rules:
@@ -448,7 +448,7 @@ If your configuration file defines a standard profile (that is to say, not a Git
448
448
| `9.2.0-alpha.1` | `preview` |
449
449
| `9.2.0-preview.1` | `preview` |
450
450
451
-
For more information about acceptable product and lifecycle values, go to [Product format](/contribute/changelog.md#product-format).
451
+
For more information about acceptable product and lifecycle values, go to [Product format](/contribute/create-changelogs.md#product-format).
452
452
453
453
You can invoke those profiles with commands like this:
Copy file name to clipboardExpand all lines: docs/cli/changelog/gh-release.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,9 +58,9 @@ The product, target version, and lifecycle are inferred automatically from the r
58
58
## Configuration
59
59
60
60
The `rules.bundle` section of your `changelog.yml` applies to bundles created by this command (after changelog files are gathered from the release).
61
-
Which fields take effect depends on [bundle rule modes](/contribute/changelog.md#bundle-rule-modes).
61
+
Which fields take effect depends on [bundle rule modes](/contribute/configure-changelogs.md#bundle-rule-modes).
62
62
For details, refer to [Rules for filtered bundles](/cli/changelog/bundle.md#changelog-bundle-rules).
63
-
If you use per-product rule overrides, refer to [Single-product rule resolution (Mode 3 only)](/contribute/changelog.md#changelog-bundle-rule-resolution).
63
+
If you use per-product rule overrides, refer to [Product-specific bundle rules](/contribute/configure-changelogs.md#rules-bundle-products).
Copy file name to clipboardExpand all lines: docs/cli/changelog/remove.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ These modes are mutually exclusive. You can't combine a profile argument with th
11
11
12
12
Before deleting anything, the command checks whether any of the matching files are referenced by unresolved bundles, to prevent silently breaking the `{changelog}` directive.
13
13
14
-
For more context, go to [](/contribute/changelog.md#changelog-remove).
14
+
For more context, go to [](/contribute/bundle-changelogs.md#changelog-remove).
Copy file name to clipboardExpand all lines: docs/cli/changelog/render.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
Generate markdown or asciidoc files from changelog bundle files.
4
4
5
5
To create the bundle files, use [](/cli/changelog/bundle.md).
6
-
For details and examples, go to [](/contribute/changelog.md).
6
+
For details and examples, go to [](/contribute/publish-changelogs.md).
7
7
8
8
## Usage
9
9
@@ -60,7 +60,7 @@ The `render` command automatically discovers and merges `.amend-*.yaml` files wi
60
60
: Defaults to the version in the first bundle.
61
61
: If the string contains spaces, they are replaced with dashes when used in directory names and anchors.
62
62
63
-
The `changelog render` command does **not** use `rules.publish` for filtering. Filtering must be done at bundle time using `rules.bundle`. For more information, refer to [](/contribute/changelog.md). For how the directive differs, see the [{changelog} directive syntax reference](/syntax/changelog.md).
63
+
The `changelog render` command does **not** use `rules.publish` for filtering. Filtering must be done at bundle time using `rules.bundle`. For more information, refer to [](/contribute/publish-changelogs.md). For how the directive differs, see the [{changelog} directive syntax reference](/syntax/changelog.md).
0 commit comments