Skip to content

Finish value stream stages read GraphQL API

Adam Hegyi requested to merge 410000-finish-vsa-stages-api into master

What does this MR do and why?

This MR extends the Value Stream Analytics GraphQL API to add the ability to filter for value stream id and value stream stage id. Additionally, the MR includes the HTML description fields which will be used on the UI to render the event widget (we use the same code as in our private API).

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

How to set up and validate locally

  1. Ensure that you're on ultimate license.
  2. Seed VSA: SEED_CUSTOMIZABLE_CYCLE_ANALYTICS=true SEED_CYCLE_ANALYTICS=true SEED_VSA=true FILTER=cycle_analytics bundle exec rake db:seed_fu
  3. Find a group with VSA:
      Analytics::CycleAnalytics::ValueStream.last.namespace.full_path
  4. Go to GraphQL explorer

List value streams:

{
  group(fullPath: "vsmg-1713869259") {
    name
    id
    valueStreams {
      nodes {
        id
        name
      }
    }
  }
}

Copy one of the value stream id and filter for it:

{
  group(fullPath: "vsmg-1713869259") {
    name
    id
    valueStreams(id: "gid://gitlab/Analytics::CycleAnalytics::ValueStream/7") {
      nodes {
        id
        name
      }
    }
  }
}

List the stages:

{
  group(fullPath: "vsmg-1713869259") {
    name
    id
    valueStreams(id: "gid://gitlab/Analytics::CycleAnalytics::ValueStream/7") {
      nodes {
        id
        name
        stages {
          id
          endEventHtmlDescription
          startEventHtmlDescription
        }
      }
    }
  }
}

Copy one of the stage id and filter for the stage:

{
  group(fullPath: "vsmg-1713869259") {
    name
    id
    valueStreams(id: "gid://gitlab/Analytics::CycleAnalytics::ValueStream/7") {
      nodes {
        id
        name
        stages(id: "gid://gitlab/Analytics::CycleAnalytics::Stage/33") {
          id
          endEventHtmlDescription
          startEventHtmlDescription
        }
      }
    }
  }
}

Related to #410000 (closed)

Edited by Adam Hegyi

Merge request reports