arazzo: 1.0.1
info:
title: GitLab Add and Preview a Group Badge
summary: Render a group badge preview, add it to the group, and confirm the list.
description: >-
A group badge provisioning flow. The workflow renders a preview of the badge
link and image, adds the badge to the group so every project in the group
inherits it, and then lists the group badges to confirm it was persisted.
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: groupsApi
url: ../openapi/gitlab-groups-api-openapi.yml
type: openapi
workflows:
- workflowId: add-group-badge
summary: Preview, add, and confirm a group badge.
description: >-
Previews the badge render, creates the badge on the group, then lists group
badges to verify it exists.
inputs:
type: object
required:
- privateToken
- groupId
- linkUrl
- imageUrl
properties:
privateToken:
type: string
description: GitLab Private-Token used to authenticate the API calls.
groupId:
type: string
description: The ID or URL-encoded path of the group.
linkUrl:
type: string
description: URL of the badge link.
imageUrl:
type: string
description: URL of the badge image.
name:
type: string
description: Name for the badge.
default: coverage
steps:
- stepId: previewBadge
description: Render a preview of the group badge before persisting it.
operationId: getApiV4GroupsIdBadgesRender
parameters:
- name: Private-Token
in: header
value: $inputs.privateToken
- name: id
in: path
value: $inputs.groupId
- name: link_url
in: query
value: $inputs.linkUrl
- name: image_url
in: query
value: $inputs.imageUrl
successCriteria:
- condition: $statusCode == 200
outputs:
renderedImageUrl: $response.body#/rendered_image_url
- stepId: addBadge
description: Add the badge to the group.
operationId: postApiV4GroupsIdBadges
parameters:
- name: Private-Token
in: header
value: $inputs.privateToken
- name: id
in: path
value: $inputs.groupId
requestBody:
contentType: application/json
payload:
link_url: $inputs.linkUrl
image_url: $inputs.imageUrl
name: $inputs.name
successCriteria:
- condition: $statusCode == 201
outputs:
badgeId: $response.body#/id
badgeName: $response.body#/name
- stepId: confirmBadges
description: List the group badges to confirm the new badge is present.
operationId: getApiV4GroupsIdBadges
parameters:
- name: Private-Token
in: header
value: $inputs.privateToken
- name: id
in: path
value: $inputs.groupId
- name: name
in: query
value: $inputs.name
successCriteria:
- condition: $statusCode == 200
outputs:
firstBadgeId: $response.body#/0/id
outputs:
badgeId: $steps.addBadge.outputs.badgeId
badgeName: $steps.addBadge.outputs.badgeName
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.