Skip to content

Add graphql type for oncall shifts

Sarah Yasonik requested to merge 262860-graphql into master

What does this MR do?

Related issue: #262860 (closed).

#262860 (closed) is comprised of several pieces:

This MR adds support for querying IncidentManagement::OncallShifts via GraphQL.

Ultimately, shifts will be comprised of persisted past OncallShifts & unsaved future OncallShifts. This MR is limited to only unsaved shifts for the entire time range, but this will allow the frontend to integrate with the API in parallel with completing the backend logic. Note that this content is still feature flagged, so a changelog is not included.

Sample query:

Noteworthy: Querying shifts requires two arguments - startsAt and endsAt.

query schedules {
   project(fullPath: "root/autodevops") {
    incidentManagementOncallSchedules {
      nodes {
        iid
        name
        description
        timezone
        rotations {
          nodes {
            shifts(startsAt: "2020-12-05 22:26:12-00:00", endsAt: "2020-12-14 22:26:12-00:00") {
              nodes {
                participant {
                  id
                  colorWeight
                  colorPalette
                  user {
                    username
                  }
                }
                endsAt
                startsAt
              }
            }
          }
        }
      }
    }
  } 
}

Screenshots (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #262860 (closed)

Edited by Sarah Yasonik

Merge request reports

Loading