Description
Returns every rolling group in the project. A rolling group is a run of consecutive steps that one machine completes before the next machine starts any of them.
Each group carries order - where it sits among the project's steps, derived from its first member and never set by the caller - and memberStepIds in step order, projected from the steps' own rollingGroupId so the two cannot disagree. machineOrderTagIds is an empty array when the order is MachineName.
The same membership is visible from the step side on List project steps, as rollingGroupId on each step.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
projectId |
query | string | yes | The project to list groups for. |
Response
| Field | Type | Description |
|---|---|---|
projectId |
string | The resolved project id, echoing the one you asked for. |
rollingGroups |
object[] | The project's rolling groups, ordered by order. Empty array when the project has none - not an error. Each element is described below. |
rollingGroups[].rollingGroupId |
string | The group's id. Pass this as rollingGroupId when updating, dissolving, or moving a step into the group. |
rollingGroups[].projectId |
string | The project the group belongs to. |
rollingGroups[].name |
string | Display name, shown in the step list, the deployment preview and the logs. |
rollingGroups[].order |
integer | Where the group sits among the project's steps. Derived from the order of its first member and never accepted from the caller, so it cannot disagree with the step list. |
rollingGroups[].windowSize |
integer | How many machines work through the group at once. 1 means a strict one-at-a-time rollout. Never above the organization's maxParallelMachines, which defaults to 8. |
rollingGroups[].machineOrder |
string (enum) | The order machines enter the group. One of MachineName - alphabetical, case-insensitive - or TagPriority, where a machine's rank is the index of the first tag it carries from machineOrderTagIds. Within a rank machines are ordered by name; machines carrying none of the tags run last. |
rollingGroups[].machineOrderTagIds |
string[] | Tag ids in priority order, first tag highest. Empty array when machineOrder is MachineName - the list is not persisted for an order that does not use it. |
rollingGroups[].waitBetweenMachineGroups |
boolean | The barrier. true finishes every machine of one tag rank before the next rank starts. Only ever true alongside machineOrder of TagPriority. |
rollingGroups[].onMachineFailure |
string (enum) | Whether the next machine starts after the group fails on one. StopStep - the default - starts no further machine; ContinueToOtherMachines carries on. Neither stops the deployment; that is onStepFailure on the member itself. |
rollingGroups[].onMemberFailure |
string (enum) | Whether a machine runs the group's remaining steps after one fails on it. SkipRestOnThisMachine - the default - skips them; ContinueMembers runs them, which is what a cleanup or notification member needs. |
rollingGroups[].memberStepIds |
string[] | The member steps, in step order. Projected from the steps' own rollingGroupId rather than stored on the group, so this and the step list cannot disagree. Always at least one id. |
Errors
| Status | Meaning |
|---|---|
400 |
projectId is missing, or names a project that does not exist or is deleted - invalid project ID. |
400 |
The group settings failed validation. The body carries validationErrors, each with the property that failed and its messages. |
401 |
Missing or invalid Basic auth credentials, or the service account may not edit this project. |