Sentry · Arazzo Workflow

Sentry Organization Monitoring Survey

Version 1.0.0

Resolve an organization, then inventory its projects, releases, and alert rules.

1 workflow 1 source API 1 provider
View Spec View on GitHub Error MonitoringDebuggingObservabilityApplication Performance ManagementDeveloper ToolsArazzoWorkflows

Provider

sentry

Workflows

organization-survey
Inventory an organization's projects, releases, and alert rules in one pass.
Lists the user's member organizations, retrieves the first one's detail, and then surveys its projects, releases, and configured alert rules to assess monitoring coverage. Ends early when the user belongs to no organizations.
5 steps inputs: limit outputs: firstAlertRuleName, firstProjectSlug, latestReleaseVersion, organizationId, organizationSlug
1
findOrganization
listOrganizations
List the organizations the authenticated user is a member of and select the first to survey.
2
getOrganization
retrieveOrganization
Retrieve full detail for the selected organization, including plan and feature flags.
3
listProjects
listProjects
List the organization's projects to enumerate the monitored applications.
4
listReleases
listReleases
List the organization's releases to confirm deployment tracking is in place.
5
listAlertRules
listAlertRules
List the organization's metric and issue alert rules to assess alerting coverage.

Source API Descriptions

Arazzo Workflow Specification

sentry-organization-survey-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Sentry Organization Monitoring Survey
  summary: Resolve an organization, then inventory its projects, releases, and alert rules.
  description: >-
    An onboarding and audit pattern. The workflow selects an organization from
    the authenticated user's memberships, retrieves its full detail, branches on
    whether any organization is available, and then inventories the
    organization's projects, releases, and alert rules to produce a single
    monitoring-coverage snapshot. 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: sentryApi
  url: ../openapi/sentry-api-openapi.yml
  type: openapi
workflows:
- workflowId: organization-survey
  summary: Inventory an organization's projects, releases, and alert rules in one pass.
  description: >-
    Lists the user's member organizations, retrieves the first one's detail, and
    then surveys its projects, releases, and configured alert rules to assess
    monitoring coverage. Ends early when the user belongs to no organizations.
  inputs:
    type: object
    properties:
      limit:
        type: integer
        description: Maximum number of items to return from each list step.
        default: 25
  steps:
  - stepId: findOrganization
    description: >-
      List the organizations the authenticated user is a member of and select
      the first to survey.
    operationId: listOrganizations
    parameters:
    - name: member
      in: query
      value: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      organizationSlug: $response.body#/0/slug
      organizationName: $response.body#/0/name
    onSuccess:
    - name: orgFound
      type: goto
      stepId: getOrganization
      criteria:
      - context: $response.body
        condition: $.length > 0
        type: jsonpath
    - name: noOrg
      type: end
      criteria:
      - context: $response.body
        condition: $.length == 0
        type: jsonpath
  - stepId: getOrganization
    description: >-
      Retrieve full detail for the selected organization, including plan and
      feature flags.
    operationId: retrieveOrganization
    parameters:
    - name: organization_slug
      in: path
      value: $steps.findOrganization.outputs.organizationSlug
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      organizationId: $response.body#/id
      plan: $response.body#/plan
  - stepId: listProjects
    description: >-
      List the organization's projects to enumerate the monitored applications.
    operationId: listProjects
    parameters:
    - name: organization_slug
      in: path
      value: $steps.findOrganization.outputs.organizationSlug
    - name: limit
      in: query
      value: $inputs.limit
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstProjectSlug: $response.body#/0/slug
  - stepId: listReleases
    description: >-
      List the organization's releases to confirm deployment tracking is in
      place.
    operationId: listReleases
    parameters:
    - name: organization_slug
      in: path
      value: $steps.findOrganization.outputs.organizationSlug
    - name: limit
      in: query
      value: $inputs.limit
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      latestReleaseVersion: $response.body#/0/version
  - stepId: listAlertRules
    description: >-
      List the organization's metric and issue alert rules to assess alerting
      coverage.
    operationId: listAlertRules
    parameters:
    - name: organization_slug
      in: path
      value: $steps.findOrganization.outputs.organizationSlug
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      firstAlertRuleName: $response.body#/0/name
  outputs:
    organizationSlug: $steps.findOrganization.outputs.organizationSlug
    organizationId: $steps.getOrganization.outputs.organizationId
    firstProjectSlug: $steps.listProjects.outputs.firstProjectSlug
    latestReleaseVersion: $steps.listReleases.outputs.latestReleaseVersion
    firstAlertRuleName: $steps.listAlertRules.outputs.firstAlertRuleName