arazzo: 1.0.1
info:
title: GitLab Find and Run a Pending Manual Job
summary: List project jobs, pick the first manual job, and trigger it.
description: >-
A pipeline-unblocking flow. The workflow lists jobs filtered to the manual
scope, selects the first one returned, and triggers it to run. 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: find-and-run-manual-job
summary: Locate a manual job in a project and start it.
description: >-
Lists jobs scoped to manual, captures the first job id, and triggers that
job.
inputs:
type: object
required:
- privateToken
- projectId
properties:
privateToken:
type: string
description: GitLab Private-Token used to authenticate the API calls.
projectId:
type: integer
description: The ID of the project.
steps:
- stepId: listManualJobs
description: List jobs scoped to manual so a runnable job can be selected.
operationId: listProjectJobs
parameters:
- name: Private-Token
in: header
value: $inputs.privateToken
- name: id
in: path
value: $inputs.projectId
- name: scope
in: query
value:
- manual
successCriteria:
- condition: $statusCode == 200
outputs:
manualJobId: $response.body#/0/id
manualJobName: $response.body#/0/name
- stepId: runJob
description: Trigger the selected manual job.
operationId: triggerManualJob
parameters:
- name: Private-Token
in: header
value: $inputs.privateToken
- name: id
in: path
value: $inputs.projectId
- name: job_id
in: path
value: $steps.listManualJobs.outputs.manualJobId
successCriteria:
- condition: $statusCode == 200
outputs:
triggeredJobId: $steps.listManualJobs.outputs.manualJobId
triggeredJobName: $steps.listManualJobs.outputs.manualJobName
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.