Skip to content

Graphql: Allow to admin value stream stages and project_ids_filter

What does this MR do and why?

Introduces arguments to create and update mutations which allows managing value streams stages and project_ids_filter setting.

For now it is only possible to create/update these properties, on another MR these attributes will be introduced to ValueStreamType.

related to #410340 (closed)

How to set up and validate locally

  1. Make sure you have an Ultimate tier license
  2. Get a project or a group path full path, for example gitlab-org/gitlab
  3. Create a value stream with stages and project_ids_filter using the following mutation:
mutation createValueStream {
  valueStreamCreate(input: {
    namespacePath: GROUP_OR_PROJECT_PATH,
    name: "Test Stream",
    setting: { projectIdsFilter: [ANY_PROJECT_GLOBAL_ID] },
    stages: [{ name: "code", custom:false }, { name: "custom", custom: true, startEventIdentifier:ISSUE_CREATED, endEventIdentifier: ISSUE_CLOSED }] 
  }) {
    valueStream {
      id
      name
    }
    errors
  }
}
  1. Visit the group or project value stream and check if was created with the correct stages
  2. We can now use the global id of the value stream created on step 3 to test the update mutation:
mutation updateValueStream {
  valueStreamUpdate(input: { 
    id: VALUE_STREAM_GLOBAL_ID, 
    setting: { projectIdsFilter: [ANY_PROJECT_GLOBAL_ID]},
    stages: [ {name: "plan", custom: false}, { name: "test", custom: false } ]
  }) {
    valueStream {
      id
      name
    }
    errors
  }
}
  1. Visit the value stream page and check if it has the correct stages. For now, project_ids_filter can only be verified on the rails console using Analytics::CycleAnalytics::ValueStream.last.setting.project_ids_filter.

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 Felipe Artur

Merge request reports