arazzo: 1.0.1
info:
title: GitLab Retire a Project Badge by Name
summary: Find a project badge by name and remove it when present.
description: >-
A badge cleanup flow. The workflow lists the project badges filtered by name,
branches on whether a match exists, and removes the matched badge from the
project. When no badge matches the name the flow ends without changes. 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
x-realizes-capability-ids:
- BC-4200.40
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-4200.40
capability_name: Software Construction Management
spec: gitlab-projects-api-openapi.yml
confidence: 0.8
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: projectsApi
url: ../openapi/gitlab-projects-api-openapi.yml
type: openapi
workflows:
- workflowId: retire-project-badge
summary: Remove a project badge matched by name.
description: >-
Lists project badges by name, and when a match is found removes that badge
from the project.
inputs:
type: object
required:
- privateToken
- projectId
- name
properties:
privateToken:
type: string
description: GitLab Private-Token used to authenticate the API calls.
projectId:
type: string
description: The ID or URL-encoded path of the project.
name:
type: string
description: The badge name to locate and remove.
steps:
- stepId: findBadge
description: List project badges filtered by name to locate the badge to remove.
operationId: getApiV4ProjectsIdBadges
parameters:
- name: Private-Token
in: header
value: $inputs.privateToken
- name: id
in: path
value: $inputs.projectId
- name: name
in: query
value: $inputs.name
successCriteria:
- condition: $statusCode == 200
outputs:
matchedBadgeId: $response.body#/0/id
onSuccess:
- name: found
type: goto
stepId: deleteBadge
criteria:
- context: $response.body
condition: $.length > 0
type: jsonpath
- name: notFound
type: end
criteria:
- context: $response.body
condition: $.length == 0
type: jsonpath
- stepId: deleteBadge
description: Remove the matched badge from the project.
operationId: deleteApiV4ProjectsIdBadgesBadgeId
parameters:
- name: Private-Token
in: header
value: $inputs.privateToken
- name: id
in: path
value: $inputs.projectId
- name: badge_id
in: path
value: $steps.findBadge.outputs.matchedBadgeId
successCriteria:
- condition: $statusCode == 204
outputs:
retiredBadgeId: $steps.findBadge.outputs.matchedBadgeId
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.