arazzo: 1.0.1
info:
title: GitLab Track a Migration's Entities
summary: Read a migration's summary, then drill into a specific entity's detail.
description: >-
A migration observability flow. The workflow reads a bulk import's overall
status, lists the entities being migrated under it, and then fetches the full
detail of the first entity so a caller can monitor per-entity progress. 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: bulkImportsApi
url: ../openapi/gitlab-bulk-imports-api-openapi.yml
type: openapi
workflows:
- workflowId: track-migration-entities
summary: Inspect a migration and the detail of its first entity.
description: >-
Reads the bulk import summary, lists its entities, and pulls the full detail
of the first entity.
inputs:
type: object
required:
- privateToken
- importId
properties:
privateToken:
type: string
description: GitLab Private-Token used to authenticate the API calls.
importId:
type: integer
description: The ID of the bulk import (GitLab Migration).
steps:
- stepId: getImport
description: Read the bulk import summary and overall status.
operationId: getApiV4BulkImportsImportId
parameters:
- name: Private-Token
in: header
value: $inputs.privateToken
- name: import_id
in: path
value: $inputs.importId
successCriteria:
- condition: $statusCode == 200
outputs:
importStatus: $response.body#/status
- stepId: listEntities
description: List the entities being migrated under the import.
operationId: getApiV4BulkImportsImportIdEntities
parameters:
- name: Private-Token
in: header
value: $inputs.privateToken
- name: import_id
in: path
value: $inputs.importId
successCriteria:
- condition: $statusCode == 200
outputs:
firstEntityId: $response.body#/0/id
onSuccess:
- name: hasEntities
type: goto
stepId: getEntity
criteria:
- context: $response.body
condition: $.length > 0
type: jsonpath
- name: noEntities
type: end
criteria:
- context: $response.body
condition: $.length == 0
type: jsonpath
- stepId: getEntity
description: Fetch the full detail of the first migration entity.
operationId: getApiV4BulkImportsImportIdEntitiesEntityId
parameters:
- name: Private-Token
in: header
value: $inputs.privateToken
- name: import_id
in: path
value: $inputs.importId
- name: entity_id
in: path
value: $steps.listEntities.outputs.firstEntityId
successCriteria:
- condition: $statusCode == 200
outputs:
entityStatus: $response.body#/status
entityType: $response.body#/entity_type
sourceFullPath: $response.body#/source_full_path
destinationFullPath: $response.body#/destination_full_path
outputs:
importStatus: $steps.getImport.outputs.importStatus
entityStatus: $steps.getEntity.outputs.entityStatus
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.