ReadMe · Arazzo Workflow

ReadMe Publish A Changelog Post

Version 1.0.0

Create a changelog post on a branch and read it back by slug.

1 workflow 1 source API 1 provider
View Spec View on GitHub DocumentationDeveloper HubAPI ReferencePortalsAnalyticsAIMCPBi-Directional SyncArazzoWorkflows

Provider

readme

Workflows

publish-changelog-post
Create a changelog post then fetch it back by slug.
Creates a changelog post on the supplied branch and reads it back by slug to confirm it was published.
2 steps inputs: apiKey, body, branch, title, type outputs: publishedAt, slug
1
createChangelog
{$sourceDescriptions.readmeApi.url}#/paths/~1branches~1{branch}~1changelogs/post
Create a typed changelog post on the target branch.
2
getChangelog
{$sourceDescriptions.readmeApi.url}#/paths/~1branches~1{branch}~1changelogs~1{slug}/get
Read the created changelog post back by slug to confirm publication.

Source API Descriptions

Arazzo Workflow Specification

readme-publish-changelog-post-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: ReadMe Publish A Changelog Post
  summary: Create a changelog post on a branch and read it back by slug.
  description: >-
    Release communication on a ReadMe hub flows through the changelog. This
    workflow creates a typed changelog post (added, fixed, improved, deprecated,
    or removed) on the target branch and then fetches the created post back by
    slug to confirm publication. 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: readmeApi
  url: ../openapi/readme-openapi.yml
  type: openapi
workflows:
- workflowId: publish-changelog-post
  summary: Create a changelog post then fetch it back by slug.
  description: >-
    Creates a changelog post on the supplied branch and reads it back by slug to
    confirm it was published.
  inputs:
    type: object
    required:
    - branch
    - title
    - body
    - type
    properties:
      branch:
        type: string
        description: The branch (version) to publish the changelog post on.
      title:
        type: string
        description: The changelog post title.
      body:
        type: string
        description: The Markdown body of the changelog post.
      type:
        type: string
        description: The change type (added | fixed | improved | deprecated | removed).
      apiKey:
        type: string
        description: ReadMe API key used as a Bearer token.
  steps:
  - stepId: createChangelog
    description: Create a typed changelog post on the target branch.
    operationPath: '{$sourceDescriptions.readmeApi.url}#/paths/~1branches~1{branch}~1changelogs/post'
    parameters:
    - name: branch
      in: path
      value: $inputs.branch
    - name: Authorization
      in: header
      value: "Bearer $inputs.apiKey"
    requestBody:
      contentType: application/json
      payload:
        title: $inputs.title
        body: $inputs.body
        type: $inputs.type
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      slug: $response.body#/slug
  - stepId: getChangelog
    description: Read the created changelog post back by slug to confirm publication.
    operationPath: '{$sourceDescriptions.readmeApi.url}#/paths/~1branches~1{branch}~1changelogs~1{slug}/get'
    parameters:
    - name: branch
      in: path
      value: $inputs.branch
    - name: slug
      in: path
      value: $steps.createChangelog.outputs.slug
    - name: Authorization
      in: header
      value: "Bearer $inputs.apiKey"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      title: $response.body#/title
      publishedAt: $response.body#/publishedAt
  outputs:
    slug: $steps.createChangelog.outputs.slug
    publishedAt: $steps.getChangelog.outputs.publishedAt