Skip to content

Undo manual iterations cadence GraphQL API deprecation

euko requested to merge 367495-re-introduce-manual-cadence into master

What does this MR do and why?

Related to #367495 (closed)

We've deprecated some GraphQL APIs related to Iterations Cadence in 14.10. This MR undos the deprecation and re-instates the deprecated GraphQL APIs.

How to set up and validate locally

  1. Enable the Iterations Cadence feature
    Feature.enable(:iteration_cadences) # the FF's been defaulted on
Sample GraphQL query: create a new manual cadence

This mutation should be successfully executed on this branch returning a newly created cadence.

mutation {
  iterationCadenceCreate(input: {
    groupPath: "my-group"
    title: "manual cadence"
    automatic: false
    active: true
  }) {
    iterationCadence {
      id
      title
      startDate
      automatic
    }
  }
}
{
  "data": {
    "iterationCadenceCreate": {
      "iterationCadence": {
        "id": "gid://gitlab/Iterations::Cadence/8033",
        "title": "manual cadence",
        "startDate": null,
        "automatic": false
      }
    }
  }
}
Sample GraphQL query: convert a cadence to/from automatic/manual

First convert a manual cadence to use automatic scheduling:

mutation {
  iterationCadenceUpdate(input: {
		id: "gid://gitlab/Iterations::Cadence/8033"
    title: "converted to automatic cadence"
    startDate: "2022-08-05"
    iterationsInAdvance: 2
    durationInWeeks: 2
    rollOver:true
    automatic: true
  }) {
    iterationCadence {
      id
      title
      startDate
      automatic
    }
  }
}

Convert the cadence again to use manual management. This should only work on this branch.

mutation {
  iterationCadenceUpdate(input: {
    id: "gid://gitlab/Iterations::Cadence/8033"
    title: "re-converted to manual"
    automatic: false
  }) {
    iterationCadence {
      id
      title
      startDate
      automatic
    }
  }
}

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by euko

Merge request reports