Sentry · Arazzo Workflow

Sentry Grant a Team Access to a Project

Version 1.0.0

Confirm a project, grant a team access to it, and verify the team appears on the project.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub APMApplication MonitoringBug TrackingDeveloper ToolsError TrackingObservabilityPerformance MonitoringReal-Time MonitoringArazzoWorkflows

Provider

sentry-system

Workflows

grant-team-project-access
Grant a team access to a project and verify the grant.
Confirms a project via retrieval, grants the supplied team access to it, and lists the project's teams to verify the team now has access.
3 steps inputs: organizationIdOrSlug, projectIdOrSlug, teamIdOrSlug outputs: firstTeamId, projectSlug
1
confirmProject
retrieveProject
Retrieve the project to confirm it exists before granting team access.
2
addTeam
addTeamToProject
Grant the supplied team access to the confirmed project.
3
verifyTeams
listProjectTeams
List the project's teams to verify the granted team now has access.

Source API Descriptions

Arazzo Workflow Specification

sentry-system-grant-team-project-access-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Sentry Grant a Team Access to a Project
  summary: Confirm a project, grant a team access to it, and verify the team appears on the project.
  description: >-
    The access-management flow that connects a team to an existing project. The
    workflow retrieves the project to confirm it exists, grants the target team
    access to the project, and lists the project's teams to verify the grant
    took effect. Every step spells out its request inline so the flow can be
    read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: projectsApi
  url: ../openapi/sentry-projects-openapi.yml
  type: openapi
- name: teamsApi
  url: ../openapi/sentry-teams-openapi.yml
  type: openapi
workflows:
- workflowId: grant-team-project-access
  summary: Grant a team access to a project and verify the grant.
  description: >-
    Confirms a project via retrieval, grants the supplied team access to it, and
    lists the project's teams to verify the team now has access.
  inputs:
    type: object
    required:
    - organizationIdOrSlug
    - projectIdOrSlug
    - teamIdOrSlug
    properties:
      organizationIdOrSlug:
        type: string
        description: The ID or slug of the organization.
      projectIdOrSlug:
        type: string
        description: The ID or slug of the project to grant access to.
      teamIdOrSlug:
        type: string
        description: The ID or slug of the team that should be granted access.
  steps:
  - stepId: confirmProject
    description: >-
      Retrieve the project to confirm it exists before granting team access.
    operationId: retrieveProject
    parameters:
    - name: organization_id_or_slug
      in: path
      value: $inputs.organizationIdOrSlug
    - name: project_id_or_slug
      in: path
      value: $inputs.projectIdOrSlug
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      projectSlug: $response.body#/slug
  - stepId: addTeam
    description: >-
      Grant the supplied team access to the confirmed project.
    operationId: addTeamToProject
    parameters:
    - name: organization_id_or_slug
      in: path
      value: $inputs.organizationIdOrSlug
    - name: project_id_or_slug
      in: path
      value: $steps.confirmProject.outputs.projectSlug
    - name: team_id_or_slug
      in: path
      value: $inputs.teamIdOrSlug
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      grantStatus: $statusCode
  - stepId: verifyTeams
    description: >-
      List the project's teams to verify the granted team now has access.
    operationId: listProjectTeams
    parameters:
    - name: organization_id_or_slug
      in: path
      value: $inputs.organizationIdOrSlug
    - name: project_id_or_slug
      in: path
      value: $steps.confirmProject.outputs.projectSlug
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstTeamId: $response.body#/0/id
  outputs:
    projectSlug: $steps.confirmProject.outputs.projectSlug
    firstTeamId: $steps.verifyTeams.outputs.firstTeamId