Create an iteration cadence
iteration:manage
A token needs theiteration:managescope: Define and remove iterations and their cadences, and roll an iteration's unfinished work overGranted bywrite_api,write_repository.Every operation this scope unlocksAudited · mutation
x-gitmoap-audit: {"kind":"audited","arg":"mutation"}
Quota · iteration cadences per group
x-gitmoap-quota: {"kind":"enforced","arg":"iteration_cadences_per_group"}
Creates a schedule that generates the group's iterations: each runs duration_weeks weeks,
starting on start_day, from the first such day on or after first_start_date, with
cool_down_weeks weeks between one iteration and the next — set it for Shape Up's cool-down.
The current iteration and the next iterations_in_advance are created straight away and kept
topped up every day, each counting toward the group's iteration limit; a cadence at that limit
stops generating until one is deleted. The schedule cannot be changed afterwards. Maintainers
and above may create cadences, up to the group's cadence limit.
Parameters
- group_idGroupId (string · uuid)Group ID
Request body
application/json- first_start_dateCalendarDate (string)The date the schedule starts from. The first iteration begins on the first start day on or after it.
- titleCadenceTitle (string)Its title. Each iteration it generates is titled with it and the iteration's number.
- activeboolean or nulloptionalWhether it starts generating straight away. Defaults to true.
- cool_down_weeksinteger · int32 or nulloptional0–∞Weeks left between iterations that belong to none: 0 to 4. Defaults to 0.
- duration_weeksinteger · int32 or nulloptional0–∞How long each iteration runs, in weeks: 1 to 12. Defaults to 2.
- iterations_in_advanceinteger · int32 or nulloptional0–∞How many upcoming iterations to keep created ahead of today: 1 to 12. Defaults to 4.
- start_dayWeekdaymondaytuesdaywednesdaythursdayfridaysaturdaysundayor nulloptionalThe weekday iterations begin on. Defaults to Monday.
Responses
- activebooleanWhether it generates iterations. A paused cadence generates nothing and keeps what it made.
- cadence_idCadenceId (string · uuid)The cadence's identifier.
- cool_down_weeksinteger · int320–∞Weeks left between one iteration's end and the next one's start, which belong to no iteration: 0 to 4. Shape Up's cool-down between cycles.
- created_atstringWhen it was created, ISO 8601.
- duration_weeksinteger · int320–∞How long each iteration runs, in weeks: 1 to 12.
- first_start_dateCalendarDate (string)The date the schedule starts from. The first iteration begins on the first
start_dayon or after it. - generated_throughinteger · int320–∞The number of the last iteration it has generated, or 0 before the first.
- group_idGroupId (string · uuid)The group whose iterations it generates.
- iterations_in_advanceinteger · int320–∞How many upcoming iterations are kept created ahead of today: 1 to 12.
- start_dayWeekdaymondaytuesdaywednesdaythursdayfridaysaturdaysundayThe weekday every iteration begins on.
- titleCadenceTitle (string)Its title. Each iteration it generates is titled with it and the iteration's number.
- updated_atstringWhen it last changed, ISO 8601.
- BAD_REQUESTThe request is malformed: a parameter or a body field is not a well-formed value of its type
errorErrorBody
- The ErrorBody schema
- codestringThe coarse category, tied to the status:
NOT_FOUND,CONFLICT,INSUFFICIENT_SCOPE. Every error has one; the API reference's error catalogue lists them all. - messagestringWhat went wrong, for a person. Written to be read, not parsed: match on
reasonorcode. - fieldstring or nulloptionalOn a
400that refused one field's value, the field, as its JSON path:email,items[0].name. Put the message under that input. Absent on every other error. - reasonstring or nulloptionalThe specific code, when the error has one:
LAST_ORGANIZATION_OWNER,BRANCH_PROTECTED. The message starts with it too. Match on this when it is present, and oncodeotherwise. - required_scopestring or nulloptionalThe scope the access token was missing, on
INSUFFICIENT_SCOPE. - violationsanyoptionalPresent on the structured-validation errors (
PROVIDER_VALIDATION_FAILEDper-node,PIPELINE_VALIDATION_FAILEDDAG): a JSON array of the offending elements, so a caller can fix every one in a single round-trip. Absent (omitted) on every other error.
- UNAUTHORIZEDNo credential was sent, or the one sent is invalid, expired or revoked
errorErrorBody
- The ErrorBody schema
- codestringThe coarse category, tied to the status:
NOT_FOUND,CONFLICT,INSUFFICIENT_SCOPE. Every error has one; the API reference's error catalogue lists them all. - messagestringWhat went wrong, for a person. Written to be read, not parsed: match on
reasonorcode. - fieldstring or nulloptionalOn a
400that refused one field's value, the field, as its JSON path:email,items[0].name. Put the message under that input. Absent on every other error. - reasonstring or nulloptionalThe specific code, when the error has one:
LAST_ORGANIZATION_OWNER,BRANCH_PROTECTED. The message starts with it too. Match on this when it is present, and oncodeotherwise. - required_scopestring or nulloptionalThe scope the access token was missing, on
INSUFFICIENT_SCOPE. - violationsanyoptionalPresent on the structured-validation errors (
PROVIDER_VALIDATION_FAILEDper-node,PIPELINE_VALIDATION_FAILEDDAG): a JSON array of the offending elements, so a caller can fix every one in a single round-trip. Absent (omitted) on every other error.
- FORBIDDENYou are signed in but may not do this here;
reasonnames the permission or the rule that refused it - INSUFFICIENT_SCOPEThe access token lacks the scope this operation needs;
required_scopenames it - PERMISSION_REQUIREDYou need a permission you do not hold here; the message names it
errorErrorBody
- The ErrorBody schema
- codestringThe coarse category, tied to the status:
NOT_FOUND,CONFLICT,INSUFFICIENT_SCOPE. Every error has one; the API reference's error catalogue lists them all. - messagestringWhat went wrong, for a person. Written to be read, not parsed: match on
reasonorcode. - fieldstring or nulloptionalOn a
400that refused one field's value, the field, as its JSON path:email,items[0].name. Put the message under that input. Absent on every other error. - reasonstring or nulloptionalThe specific code, when the error has one:
LAST_ORGANIZATION_OWNER,BRANCH_PROTECTED. The message starts with it too. Match on this when it is present, and oncodeotherwise. - required_scopestring or nulloptionalThe scope the access token was missing, on
INSUFFICIENT_SCOPE. - violationsanyoptionalPresent on the structured-validation errors (
PROVIDER_VALIDATION_FAILEDper-node,PIPELINE_VALIDATION_FAILEDDAG): a JSON array of the offending elements, so a caller can fix every one in a single round-trip. Absent (omitted) on every other error.
- NOT_FOUNDThe resource does not exist — or exists and you cannot see it: a private resource you have no access to answers exactly as an absent one does
errorErrorBody
- The ErrorBody schema
- codestringThe coarse category, tied to the status:
NOT_FOUND,CONFLICT,INSUFFICIENT_SCOPE. Every error has one; the API reference's error catalogue lists them all. - messagestringWhat went wrong, for a person. Written to be read, not parsed: match on
reasonorcode. - fieldstring or nulloptionalOn a
400that refused one field's value, the field, as its JSON path:email,items[0].name. Put the message under that input. Absent on every other error. - reasonstring or nulloptionalThe specific code, when the error has one:
LAST_ORGANIZATION_OWNER,BRANCH_PROTECTED. The message starts with it too. Match on this when it is present, and oncodeotherwise. - required_scopestring or nulloptionalThe scope the access token was missing, on
INSUFFICIENT_SCOPE. - violationsanyoptionalPresent on the structured-validation errors (
PROVIDER_VALIDATION_FAILEDper-node,PIPELINE_VALIDATION_FAILEDDAG): a JSON array of the offending elements, so a caller can fix every one in a single round-trip. Absent (omitted) on every other error.
- CONFLICTThe request conflicts with the resource's current state;
reasonsays how - LEGAL_ACCEPTANCE_REQUIREDAccept the current Terms of Service before changing anything; reading stays open
errorErrorBody
- The ErrorBody schema
- codestringThe coarse category, tied to the status:
NOT_FOUND,CONFLICT,INSUFFICIENT_SCOPE. Every error has one; the API reference's error catalogue lists them all. - messagestringWhat went wrong, for a person. Written to be read, not parsed: match on
reasonorcode. - fieldstring or nulloptionalOn a
400that refused one field's value, the field, as its JSON path:email,items[0].name. Put the message under that input. Absent on every other error. - reasonstring or nulloptionalThe specific code, when the error has one:
LAST_ORGANIZATION_OWNER,BRANCH_PROTECTED. The message starts with it too. Match on this when it is present, and oncodeotherwise. - required_scopestring or nulloptionalThe scope the access token was missing, on
INSUFFICIENT_SCOPE. - violationsanyoptionalPresent on the structured-validation errors (
PROVIDER_VALIDATION_FAILEDper-node,PIPELINE_VALIDATION_FAILEDDAG): a JSON array of the offending elements, so a caller can fix every one in a single round-trip. Absent (omitted) on every other error.
- TOO_MANY_REQUESTSRetryableA quota, a rate limit or a transfer budget is spent. When the response carries
Retry-After, retry after that many seconds
errorErrorBody
- The ErrorBody schema
- codestringThe coarse category, tied to the status:
NOT_FOUND,CONFLICT,INSUFFICIENT_SCOPE. Every error has one; the API reference's error catalogue lists them all. - messagestringWhat went wrong, for a person. Written to be read, not parsed: match on
reasonorcode. - fieldstring or nulloptionalOn a
400that refused one field's value, the field, as its JSON path:email,items[0].name. Put the message under that input. Absent on every other error. - reasonstring or nulloptionalThe specific code, when the error has one:
LAST_ORGANIZATION_OWNER,BRANCH_PROTECTED. The message starts with it too. Match on this when it is present, and oncodeotherwise. - required_scopestring or nulloptionalThe scope the access token was missing, on
INSUFFICIENT_SCOPE. - violationsanyoptionalPresent on the structured-validation errors (
PROVIDER_VALIDATION_FAILEDper-node,PIPELINE_VALIDATION_FAILEDDAG): a JSON array of the offending elements, so a caller can fix every one in a single round-trip. Absent (omitted) on every other error.
CLI
gitmoap issues create-iteration-cadence
- --group-ididGroup ID (id or group path)
- --activeflagoptionalWhether it starts generating straight away. Defaults to true.
- --cool-down-weeksnumberoptionalWeeks left between iterations that belong to none: 0 to 4. Defaults to 0.
- --duration-weeksnumberoptionalHow long each iteration runs, in weeks: 1 to 12. Defaults to 2.
- --first-start-datestringThe date the schedule starts from. The first iteration begins on the first start day on or after it.
- --iterations-in-advancenumberoptionalHow many upcoming iterations to keep created ahead of today: 1 to 12. Defaults to 4.
- --start-daymonday | tuesday | wednesday | thursday | friday | saturday | sundayoptional
- --titlestringIts title. Each iteration it generates is titled with it and the iteration's number.