Dynatrace · Arazzo Workflow

Dynatrace Manage a Problem Comment Lifecycle

Version 1.0.0

Add a comment to a problem, read it back, and update its content.

1 workflow 1 source API 1 provider
View Spec View on GitHub AI OperationsAnalyticsAPMApplication Performance MonitoringApplication SecurityAutomationCloud MonitoringDigital Experience ManagementIntelligenceObservabilityArazzoWorkflows

Provider

dynatrace

Workflows

problem-comment-lifecycle
Create, read, and update a single problem comment.
Adds a comment to a problem, retrieves it by ID, and updates its content with revised notes.
3 steps inputs: context, initialMessage, problemId, updatedMessage outputs: commentId, updatedContent
1
addComment
createProblemComment
Add the initial comment to the problem and capture its generated comment ID for the subsequent read and update steps.
2
readComment
getProblemComment
Read the comment back by problem ID and comment ID to confirm it persisted with the expected content.
3
updateComment
updateProblemComment
Update the comment with revised investigation notes, replacing its content.

Source API Descriptions

Arazzo Workflow Specification

dynatrace-problem-comment-lifecycle-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Dynatrace Manage a Problem Comment Lifecycle
  summary: Add a comment to a problem, read it back, and update its content.
  description: >-
    Walks a single problem comment through its create, read, and update
    lifecycle. The workflow adds a comment to a problem, fetches it by ID to
    confirm it persisted, and then updates its content with revised
    investigation notes. 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: problemsApi
  url: ../openapi/dynatrace-problems-api-v2-openapi.yml
  type: openapi
workflows:
- workflowId: problem-comment-lifecycle
  summary: Create, read, and update a single problem comment.
  description: >-
    Adds a comment to a problem, retrieves it by ID, and updates its content
    with revised notes.
  inputs:
    type: object
    required:
    - problemId
    - initialMessage
    - updatedMessage
    properties:
      problemId:
        type: string
        description: The unique identifier of the problem.
      initialMessage:
        type: string
        description: The initial comment text to post.
      updatedMessage:
        type: string
        description: The revised comment text to apply on update.
      context:
        type: string
        description: Optional context reference such as a ticket ID.
  steps:
  - stepId: addComment
    description: >-
      Add the initial comment to the problem and capture its generated comment
      ID for the subsequent read and update steps.
    operationId: createProblemComment
    parameters:
    - name: problemId
      in: path
      value: $inputs.problemId
    requestBody:
      contentType: application/json
      payload:
        message: $inputs.initialMessage
        context: $inputs.context
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      commentId: $response.body#/id
  - stepId: readComment
    description: >-
      Read the comment back by problem ID and comment ID to confirm it
      persisted with the expected content.
    operationId: getProblemComment
    parameters:
    - name: problemId
      in: path
      value: $inputs.problemId
    - name: commentId
      in: path
      value: $steps.addComment.outputs.commentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      content: $response.body#/content
      authorName: $response.body#/authorName
  - stepId: updateComment
    description: >-
      Update the comment with revised investigation notes, replacing its
      content.
    operationId: updateProblemComment
    parameters:
    - name: problemId
      in: path
      value: $inputs.problemId
    - name: commentId
      in: path
      value: $steps.addComment.outputs.commentId
    requestBody:
      contentType: application/json
      payload:
        message: $inputs.updatedMessage
        context: $inputs.context
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      updatedContent: $response.body#/content
  outputs:
    commentId: $steps.addComment.outputs.commentId
    updatedContent: $steps.updateComment.outputs.updatedContent