Skip to content

cub changeset update

cub changeset update

Update a changeset or multiple changesets

Synopsis

Update a changeset or multiple changesets using bulk operations.

Single changeset update:

  cub changeset update my-changeset --description "Updated description"

  # Ask alice and bob to review the change. Asking again re-requests a review
  cub changeset update my-changeset --request-review alice,bob

  # Withdraw a review request
  cub changeset update my-changeset --withdraw-review-request alice

Bulk update with --patch:

Update multiple changesets at once based on search criteria. Requires --patch flag with no positional arguments.

Examples:

  # Update description for all changesets matching a pattern
  echo '{"Description": "Archived changeset"}' | cub changeset update --patch --where "CreatedAt < '2024-01-01'" --from-stdin

  # Update description for specific changesets
  cub changeset update --patch --changeset cs1,cs2 --description "Updated description"

  # Update tags for changesets using JSON patch
  echo '{"StartTagID": "new-tag-uuid", "EndTagID": "another-tag-uuid"}' | cub changeset update --patch --where "Description LIKE 'Release%'" --from-stdin
cub changeset update [<slug or id>] [options...] [flags]

Options

      --annotation strings                annotations in key=value format; can separate by commas and/or use multiple instances of the flag
      --changeset strings                 target specific changesets by slug or UUID for bulk patch (can be repeated or comma-separated)
      --delete-gate strings               delete gates in key[=true] format; can separate by commas and/or use multiple instances of the flag
      --description string                human-readable description of the change
      --display-name string               friendly name for the entity, which need not be unique or URL-safe; an entity without one is shown by its slug
      --dry-run                           report what the command would write, and write nothing
      --filename string                   Read the ConfigHub entity's fields, as YAML or JSON, from file, URL (https://), or stdin (-), as --from-stdin does; mutually exclusive with --from-stdin
      --filter string                     Filter entity to apply to the list. Specify as 'space/filter' for cross-space filters or just 'filter' for current space. Supports both slugs and UUIDs. The filter will be combined with any --where clause using AND logic. Examples: "production-filters/security-check", "my-filter-uuid", "validation-rules"
      --from-stdin                        Read the ConfigHub entity's fields, as YAML or JSON, from stdin; merged with command arguments on create, and merged with command arguments and existing entity on update. A field the entity does not have, or one only the server sets, is refused; cub <entity> explain lists the fields
  -h, --help                              help for update
      --hidden-reason string              hide the entity, giving the reason as a name such as Archived: lists and bulk operations leave it out unless --include-hidden names the reason (use '-' to clear, which shows the entity again)
      --include-hidden string[="*"]       Also select hidden entities, to list or to act on: those hidden for the given HiddenReasons, comma-separated, as in --include-hidden=BackingUnit, or for any reason when given no value or "*". ConfigHub/YAML Units, which hold the configuration of other entities, are hidden with the reason BackingUnit. A --where naming entities by Slug or ID selects them whether hidden or not
      --label strings                     labels in key=value format; can separate by commas and/or use multiple instances of the flag
  -o, --output string                     Output format. One of: json, yaml, name, wide, mutations, jq=<expr>, yq=<expr>, custom-columns=<spec>
      --patch                             use patch API for individual or bulk operations
      --permission strings                permission in format Action:UserIDOrUsername, Action:group:GroupSlugOrID or Action:serviceaccount:ServiceAccountSlugOrID to add, or the same prefixed with - to remove (e.g., Manage:user@example.com, View:group:platform, View:serviceaccount:deploy-bot, -View:user@example.com, can be repeated)
      --quiet                             No default output.
      --replace                           Replace entity instead of merging when using --from-stdin or --filename
      --request-review strings            ask a user (username or ID) to review the change set. Asking again re-requests the review (can be repeated or comma-separated)
      --verbose                           Detailed output, additive with default output
      --where string                      Filter expression using SQL-inspired syntax. Supports conjunctions with AND. String operators: =, !=, <, >, <=, >=, LIKE, NOT LIKE, ILIKE, ~~, !~~, ~, ~*, !~, !~*. Pattern matching with LIKE/ILIKE uses % and _ wildcards. Regex operators (~, ~*, !~, !~*) support POSIX regular expressions. A related entity is referenced by prefix, as in "UpstreamUnit.Slug = 'base'"; when the reference names a list, a * segment matches any element, as in "FromLink.*.Slug = 'upgrade-app'". Examples: "Slug LIKE 'app-%'", "DisplayName ILIKE '%backend%'", "Slug ~ '^[a-z]+-[0-9]+$'"
      --withdraw-review-request strings   withdraw the review requested of a user (username or ID) (can be repeated or comma-separated)

Options inherited from parent commands

      --component string   the Component of --variant, when that names the variant alone; --variant <component>/<variant> says the same in one flag
      --context string     The context to use for this command
      --debug              Debug output
      --space string       space to operate in, by slug or UUID. Omitted, a list or bulk operation spans the organization and a single entity is named as <space>/<slug>; "*" means the same as omitting it
      --variant string     variant to operate in, as <component>/<variant>, or as <variant> with --component: the space naming that Component whose Variant label is <variant>. The same scope as --space, named by what it is rather than by the space's slug; the two cannot be combined

SEE ALSO