Sentry · Arazzo Workflow

Sentry Capture User Feedback for an Event

Version 1.0.0

Find a recent project event, attach user feedback to it, and confirm the feedback was recorded.

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

Provider

sentry-system

Workflows

capture-user-feedback
Attach user feedback to a recent project event and verify it.
Lists a project's recent events, submits user feedback against the most recent event, and lists the project's user feedback to confirm the new entry.
3 steps inputs: comments, email, name, organizationIdOrSlug, projectIdOrSlug outputs: eventId, feedbackEventId
1
listEvents
listProjectEvents
List the project's recent error events and capture the id of the most recent event to attach feedback to.
2
submitFeedback
submitProjectUserFeedback
Submit user feedback for the project referencing the most recent event id.
3
listFeedback
listProjectUserFeedback
List the project's user feedback to confirm the new feedback entry was recorded.

Source API Descriptions

Arazzo Workflow Specification

sentry-system-capture-user-feedback-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Sentry Capture User Feedback for an Event
  summary: Find a recent project event, attach user feedback to it, and confirm the feedback was recorded.
  description: >-
    The flow that ties a crash to a real user report. The workflow lists a
    project's recent error events, picks the most recent one, submits user
    feedback referencing that event id, and lists the project's user feedback to
    confirm the submission was recorded. 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
workflows:
- workflowId: capture-user-feedback
  summary: Attach user feedback to a recent project event and verify it.
  description: >-
    Lists a project's recent events, submits user feedback against the most
    recent event, and lists the project's user feedback to confirm the new entry.
  inputs:
    type: object
    required:
    - organizationIdOrSlug
    - projectIdOrSlug
    - name
    - email
    - comments
    properties:
      organizationIdOrSlug:
        type: string
        description: The ID or slug of the organization.
      projectIdOrSlug:
        type: string
        description: The ID or slug of the project.
      name:
        type: string
        description: The name of the user submitting feedback.
      email:
        type: string
        description: The email address of the user submitting feedback.
      comments:
        type: string
        description: The feedback comments from the user.
  steps:
  - stepId: listEvents
    description: >-
      List the project's recent error events and capture the id of the most
      recent event to attach feedback to.
    operationId: listProjectEvents
    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:
      eventId: $response.body#/0/eventID
    onSuccess:
    - name: eventFound
      type: goto
      stepId: submitFeedback
      criteria:
      - context: $response.body
        condition: $.length > 0
        type: jsonpath
  - stepId: submitFeedback
    description: >-
      Submit user feedback for the project referencing the most recent event id.
    operationId: submitProjectUserFeedback
    parameters:
    - name: organization_id_or_slug
      in: path
      value: $inputs.organizationIdOrSlug
    - name: project_id_or_slug
      in: path
      value: $inputs.projectIdOrSlug
    requestBody:
      contentType: application/json
      payload:
        event_id: $steps.listEvents.outputs.eventId
        name: $inputs.name
        email: $inputs.email
        comments: $inputs.comments
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      feedbackEventId: $response.body#/eventID
  - stepId: listFeedback
    description: >-
      List the project's user feedback to confirm the new feedback entry was
      recorded.
    operationId: listProjectUserFeedback
    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:
      firstFeedbackEventId: $response.body#/0/eventID
  outputs:
    eventId: $steps.listEvents.outputs.eventId
    feedbackEventId: $steps.submitFeedback.outputs.feedbackEventId