GitLab · Arazzo Workflow

GitLab Publish and Verify a Broadcast Message

Version 1.0.0

Create a broadcast banner, then read it back to confirm it was stored.

1 workflow 1 source API 1 provider
View Spec View on GitHub CodePlatformSoftware DevelopmentSource ControlArazzoWorkflows

Provider

gitlab

Workflows

publish-broadcast-message
Create a broadcast message and confirm it by reading it back.
Creates a broadcast message, then fetches the same message by id to verify it was stored.
2 steps inputs: broadcastType, endsAt, message, privateToken, startsAt outputs: confirmedMessage, messageId
1
createMessage
postApiV4BroadcastMessages
Create the broadcast message with the supplied window and type.
2
confirmMessage
getApiV4BroadcastMessagesId
Read the broadcast message back by id to confirm it persisted.

Source API Descriptions

Arazzo Workflow Specification

gitlab-publish-broadcast-message-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: GitLab Publish and Verify a Broadcast Message
  summary: Create a broadcast banner, then read it back to confirm it was stored.
  description: >-
    An instance announcement flow. The workflow creates a broadcast message with
    a window and styling, captures the new message id, and reads the message back
    to confirm it was persisted as expected. 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: gitlabAdminApi
  url: ../openapi/gitlab-openapi-original.yml
  type: openapi
workflows:
- workflowId: publish-broadcast-message
  summary: Create a broadcast message and confirm it by reading it back.
  description: >-
    Creates a broadcast message, then fetches the same message by id to verify it
    was stored.
  inputs:
    type: object
    required:
    - privateToken
    - message
    properties:
      privateToken:
        type: string
        description: GitLab Private-Token used to authenticate the API calls.
      message:
        type: string
        description: The message text to display.
      startsAt:
        type: string
        description: Starting time (ISO 8601 date-time).
        default: '2026-06-04T00:00:00Z'
      endsAt:
        type: string
        description: Ending time (ISO 8601 date-time).
        default: '2026-06-11T00:00:00Z'
      broadcastType:
        type: string
        description: Broadcast type, banner or notification.
        default: banner
  steps:
  - stepId: createMessage
    description: Create the broadcast message with the supplied window and type.
    operationId: postApiV4BroadcastMessages
    parameters:
    - name: Private-Token
      in: header
      value: $inputs.privateToken
    requestBody:
      contentType: application/json
      payload:
        message: $inputs.message
        starts_at: $inputs.startsAt
        ends_at: $inputs.endsAt
        broadcast_type: $inputs.broadcastType
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      messageId: $response.body#/id
      messageText: $response.body#/message
  - stepId: confirmMessage
    description: Read the broadcast message back by id to confirm it persisted.
    operationId: getApiV4BroadcastMessagesId
    parameters:
    - name: Private-Token
      in: header
      value: $inputs.privateToken
    - name: id
      in: path
      value: $steps.createMessage.outputs.messageId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      confirmedId: $response.body#/id
      confirmedMessage: $response.body#/message
      startsAt: $response.body#/starts_at
      endsAt: $response.body#/ends_at
  outputs:
    messageId: $steps.confirmMessage.outputs.confirmedId
    confirmedMessage: $steps.confirmMessage.outputs.confirmedMessage