From ce6d194b59562d399d906779738f8567338e29c9 Mon Sep 17 00:00:00 2001 From: Michael Elrom Date: Wed, 12 Aug 2026 16:49:31 -0400 Subject: [PATCH 1/2] feat(gitlab): rebuild Studio Project on the Integration Model, drop the adapter Replaces the GitLab Adapter-based Studio Project with a 133-workflow CRUD project built on the GitLab REST API Integration Model, organized into 21 folders covering Projects, Groups, Members, Branches, Merge Requests, Pipelines, CI/CD Variables, and more. All 133 workflows were created and schema-validated on a live Itential Platform instance. List Projects was executed against a real GitLab.com account and confirmed returning live data. --- GitLab/README.md | 110 +- GitLab/Studio Projects/GitLab.project.json | 30954 ++++++++++++++----- 2 files changed, 23068 insertions(+), 7996 deletions(-) diff --git a/GitLab/README.md b/GitLab/README.md index 7930e37..fd5291c 100644 --- a/GitLab/README.md +++ b/GitLab/README.md @@ -1,47 +1,39 @@ GitLab is a web-based DevOps platform for Git version control, code review, issue tracking, and CI/CD pipelines. -This project provides two complementary ways to automate against GitLab: - -- **Studio Project workflows** built on the **GitLab Adapter** — project, branch, merge request, and file/commit lifecycle workflows. -- **OpenAPI specs** for building new automation directly against GitLab's REST API via an Integration Model. The `-latest` spec is a curated subset covering common CRUD for repository and CI/CD automation — see **OpenAPIs** below. +This project provides OpenAPI specs for automating against GitLab's REST API via an Integration Model, plus a Studio Project of ready-to-import CRUD workflows built on that model. ## Table of Contents - [Contents](#contents) - [Requirements](#requirements) - [Integration Configuration](#integration-configuration) - - [Adapter (Studio Project workflows)](#adapter-studio-project-workflows) - - [Integration Model (OpenAPI-based automation)](#integration-model-openapi-based-automation) -- [Studio Projects](#studio-projects) - - [GitLab Project](#gitlab-project) - [OpenAPIs](#openapis) - [`gitlab_rest_api-latest.json`](#gitlab_rest_api-latestjson) - [`gitlab_rest_api-v4.json`](#gitlab_rest_api-v4json) +- [Studio Projects](#studio-projects) + - [GitLab Project](#gitlab-project) + - [Folder Structure](#folder-structure) + - [Dependencies](#dependencies) ## Contents | Asset | Description | |---|---| | [OpenAPIs/](./OpenAPIs/) | GitLab REST API OpenAPI specs — curated `-latest` plus the full dated spec | -| [Studio Projects/](./Studio%20Projects/) | Itential Platform project containing the project/branch/merge-request/file workflows | +| [Studio Projects/](./Studio%20Projects/) | Itential Platform project containing all 133 workflows in 21 folders | ## Requirements | Requirement | Version | |---|---| | Itential Platform | 6.x | -| GitLab Adapter | Required for the Studio Project workflows below | -| GitLab Integration Model | Required only if building new automation directly against the OpenAPI specs | +| `GitLab REST API:latest` Integration Model | Required to build automation against the OpenAPI specs, and to run the Studio Project below | -## Integration Configuration +> **Note:** This project does not require Itential Gateway. All API calls are made directly from Itential Platform to GitLab's REST API. -### Adapter (Studio Project workflows) - -Install the [GitLab Adapter](https://gitlab.com/itentialopensource/adapters/adapter-gitlab) and configure an instance in **Admin > Adapters**, then update the `adapterId` value (`$var.job.adapterId`) in each workflow task to match your instance name before importing. - -### Integration Model (OpenAPI-based automation) +## Integration Configuration -To build automation directly against the REST API instead, import `OpenAPIs/gitlab_rest_api-latest.json` as an Integration Model in **Admin > Integrations**, then create an integration pointing at your GitLab instance (or `gitlab.com` for GitLab SaaS). +Import `gitlab_rest_api-latest.json` as an Integration Model in **Admin > Integrations**, then create an integration pointing at your GitLab instance (or `gitlab.com` for GitLab SaaS). Authentication is an API key in the `PRIVATE-TOKEN` header: @@ -51,27 +43,22 @@ PRIVATE-TOKEN: Generate a Personal Access Token (or group/project access token) at GitLab → User Settings → Access Tokens. ---- - -## Studio Projects - -### GitLab Project - -| Folder | Workflows | Scope | -|---|---|---| -| Create Project | Create Project | Create a new project in a namespace | -| Create Templated Project | Create Templated Project | Create a project from an existing template project | -| Push Commit to Branch | Push Commit to Branch | Read an existing file and push an updated commit to a branch | -| Get Diff for Merge | Get Diff for Merge | Retrieve merge request diff versions | -| (root) | Get Branch, Get File, Create Branch, Create Merge Request, Update Project Variables | Read a branch or file; create a branch or merge request; update a project CI/CD variable | - -#### Dependencies - -| Dependency | Notes | -|---|---| -| [GitLab Adapter](https://gitlab.com/itentialopensource/adapters/adapter-gitlab) | Required for the Studio Project workflows. Update the `adapterId` in each workflow task to match your instance name. | - ---- +The instance's `authentication`/`server` properties should look like this once configured: + +```json +{ + "authentication": { + "access_token_header": { + "value": "" + } + }, + "server": { + "protocol": "https", + "host": "gitlab.com", + "base_path": "" + } +} +``` ## OpenAPIs @@ -111,3 +98,48 @@ Resources included, by category: ### `gitlab_rest_api-v4.json` Full, unmodified vendor spec for GitLab REST API v4 (1008 operations) — the vendor's complete API surface, preserved as-is. See `gitlab_rest_api-latest.json` above for the curated subset if you just need common CRUD automation. + +--- + +## Studio Projects + +### GitLab Project + +Backed by the **`GitLab REST API:latest`** Integration Model (see [`gitlab_rest_api-latest.json`](./OpenAPIs/gitlab_rest_api-latest.json) above). The project contains **133 workflows** organized into **21 folders**, one workflow per curated operation. All workflows follow the naming convention ` ` (e.g. `List Merge Requests`, `Trigger Pipeline`). + +Note the `CI-CD Variables` folder name uses a hyphen rather than a slash — Itential Platform's project folder paths use `/` as a path separator, so a literal `/` in a folder name would be parsed as nested folders instead of one folder name. + +#### Folder Structure + +| Folder | Workflows | Scope | +|---|---|---| +| Groups | 7 | Group (+ list projects, list subgroups) | +| Members | 10 | Group Member, Project Member | +| Deploy Tokens | 8 | Group Deploy Token, Project Deploy Token | +| CI-CD Variables | 10 | Group Variable, Project Variable | +| Projects | 10 | Project (+ archive/unarchive/fork/delete-fork), Project Fork (list) | +| Jobs | 6 | Job (+ cancel/retry/play/trace) | +| Merge Requests | 10 | Merge Request (+ commits/diffs/merge/versions) | +| Pipelines | 9 | Pipeline (+ trigger/latest/cancel/retry/jobs/variables) | +| Pipeline Schedules | 5 | Pipeline Schedule | +| Protected Branches | 5 | Protected Branch | +| Tags | 8 | Tag, Protected Tag | +| Releases | 5 | Release | +| Environments | 6 | Environment (+ stop) | +| Deployments | 5 | Deployment | +| Deploy Keys | 5 | Deploy Key | +| Runners | 3 | Project Runner (list, enable, disable) | +| Branches | 6 | Branch (+ protect/unprotect) | +| Repository Files | 5 | Repository File (+ get raw) | +| Repository Browse | 2 | Repository Tree, Repository Comparison | +| Commits | 6 | Commit (+ diff, comments) | +| Users | 2 | User | + +#### Dependencies + +| Dependency | Notes | +|---|---| +| `GitLab REST API:latest` Integration Model | Import from [`gitlab_rest_api-latest.json`](./OpenAPIs/gitlab_rest_api-latest.json) before importing the project | +| `GitLab` integration instance | Create in **Admin > Integrations** with the connection properties above. Workflows are wired to an integration instance named `GitLab` — update the `adapter_id` value in each workflow task if yours is named differently | + +**Testing status:** all 133 workflows were created and schema-validated against a running Itential Platform instance. `List Projects` was executed against a real GitLab.com account and confirmed returning live data. `Get Project` and `List Groups` were also tested but require broader token scope than a personal-access-token restricted to "personal projects only" — GitLab's fine-grained personal access tokens can scope `Project`/`Group` read access to a limited set of resources, and a token scoped that narrowly will reject reads of projects/groups outside that set with `insufficient_granular_scope`, independent of this Integration Model. The remaining workflows have not been individually executed. diff --git a/GitLab/Studio Projects/GitLab.project.json b/GitLab/Studio Projects/GitLab.project.json index c32bc76..7b3692f 100644 --- a/GitLab/Studio Projects/GitLab.project.json +++ b/GitLab/Studio Projects/GitLab.project.json @@ -1,2104 +1,43 @@ { - "_id": "66d0c74521161b4df27174ba", + "_id": "6a7cd3388e626d3c662c64d2", "name": "GitLab", - "description": "GitLab asset includes: get file, create project, create templated project, create branch, get branch, push commit to branch, create merge request, update project variables, get diff for merge.", + "description": "Core CRUD workflows for the GitLab REST API, backed by the GitLab REST API Integration Model.", "components": [ { "iid": 0, - "reference": "6436bede5c18656ff16ca024", - "type": "transformation", - "folder": "/Create Project", - "document": { - "_id": "6436bede5c18656ff16ca024", - "name": "Create Success ReturnStatus", - "description": "", - "incoming": [ - { - "$id": "taskName", - "type": "string" - }, - { - "$id": "response", - "type": ["object", "string"], - "properties": {}, - "required": [] - }, - { - "$id": "message", - "type": "string" - }, - { - "$id": "ReturnStatus", - "type": "object", - "properties": {}, - "required": [] - } - ], - "outgoing": [ - { - "$id": "ReturnStatus", - "type": "object", - "properties": {}, - "required": [] - } - ], - "steps": [ - { - "id": 1, - "type": "function", - "function": "successResponse", - "args": [null, null, null, null], - "view": { - "row": 1, - "col": 1 - }, - "context": "#" - }, - { - "id": 2, - "type": "assign", - "from": { - "location": "incoming", - "name": "taskName", - "ptr": "" - }, - "to": { - "location": "function", - "name": 1, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 3, - "type": "assign", - "from": { - "location": "incoming", - "name": "response", - "ptr": "" - }, - "to": { - "location": "function", - "name": 1, - "ptr": "/args/1/value" - }, - "context": "#" - }, - { - "id": 4, - "type": "assign", - "from": { - "location": "incoming", - "name": "message", - "ptr": "" - }, - "to": { - "location": "function", - "name": 1, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 5, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "" - }, - "to": { - "location": "function", - "name": 1, - "ptr": "/args/3/value" - }, - "context": "#" - }, - { - "id": 6, - "type": "assign", - "from": { - "location": "function", - "name": 1, - "ptr": "/return/ReturnStatus" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "" - }, - "context": "#" - } - ], - "functions": [ - { - "incoming": [ - { - "$id": "taskName", - "type": "string" - }, - { - "$id": "response", - "type": ["object", "string"] - }, - { - "$id": "message", - "type": "string" - }, - { - "$id": "ReturnStatus", - "type": "object", - "properties": {}, - "required": [] - } - ], - "outgoing": [ - { - "$id": "ReturnStatus", - "type": "object" - } - ], - "steps": [ - { - "id": 1, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, "status", "SUCCESS"], - "view": { - "row": 1, - "col": 5 - }, - "context": "#" - }, - { - "id": 2, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, null, null], - "view": { - "row": 1, - "col": 2 - }, - "context": "#" - }, - { - "id": 3, - "type": "method", - "library": "Object", - "method": "getProperty", - "args": [null, "response"], - "view": { - "row": 3, - "col": 1 - }, - "context": "#" - }, - { - "id": 5, - "type": "assign", - "from": { - "location": "method", - "name": 3, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 2, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 8, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, "message", null], - "view": { - "row": 1, - "col": 4 - }, - "context": "#" - }, - { - "id": 9, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, "response", null], - "view": { - "row": 2, - "col": 3 - }, - "context": "#" - }, - { - "id": 11, - "type": "assign", - "from": { - "location": "method", - "name": 2, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 9, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 12, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "" - }, - "to": { - "location": "method", - "name": 3, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 13, - "type": "assign", - "from": { - "location": "incoming", - "name": "taskName", - "ptr": "" - }, - "to": { - "location": "method", - "name": 2, - "ptr": "/args/1/value" - }, - "context": "#" - }, - { - "id": 14, - "type": "assign", - "from": { - "location": "incoming", - "name": "response", - "ptr": "" - }, - "to": { - "location": "method", - "name": 2, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 15, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "" - }, - "to": { - "location": "method", - "name": 9, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 16, - "type": "assign", - "from": { - "location": "method", - "name": 9, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 8, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 17, - "type": "assign", - "from": { - "location": "incoming", - "name": "message", - "ptr": "" - }, - "to": { - "location": "method", - "name": 8, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 18, - "type": "assign", - "from": { - "location": "method", - "name": 8, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 1, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 19, - "type": "assign", - "from": { - "location": "method", - "name": 1, - "ptr": "/return" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "" - }, - "context": "#" - } - ], - "functions": [], - "name": "successResponse", - "view": { - "col": 5, - "row": 4 - }, - "id": "successResponse", - "comments": [] - } - ], - "comments": [], - "view": { - "col": 1, - "row": 7 - }, - "created": "2025-01-23T18:58:06.508Z", - "createdBy": { - "_id": "67531c63592f8c45f4eabe88", - "provenance": "Okta", - "username": "admin@itential" - }, - "lastUpdated": "2025-01-23T20:44:00.332Z", - "lastUpdatedBy": { - "_id": "67531c63592f8c45f4eabe88", - "provenance": "Okta", - "username": "admin@itential" - }, - "version": "4.3.6-2023.2.5", - "tags": [] - } - }, - { - "iid": 1, - "reference": "642c59bd6ab71428ca91c815", - "type": "transformation", - "folder": "/Get Diff for Merge", - "document": { - "_id": "642c59bd6ab71428ca91c815", - "name": "Create Success Output", - "description": "", - "incoming": [ - { - "$id": "ReturnStatus", - "type": "object", - "properties": { - "status": { - "type": "string" - }, - "message": { - "type": "string" - }, - "errors": { - "type": "array" - }, - "response": { - "type": "object", - "properties": {}, - "required": [] - } - }, - "required": [] - }, - { - "$id": "message", - "type": "string" - }, - { - "$id": "taskName", - "type": "string", - "examples": ["taskName"] - }, - { - "$id": "response", - "type": ["object", "string"], - "properties": {}, - "required": [] - } - ], - "outgoing": [ - { - "$id": "ReturnStatus", - "type": "object", - "properties": { - "status": { - "type": "string" - }, - "message": { - "type": "string" - }, - "errors": { - "type": "array" - }, - "response": { - "type": "object", - "properties": {}, - "required": [] - } - }, - "required": [] - } - ], - "steps": [ - { - "id": 16, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, null, null], - "view": { - "row": 3, - "col": 1 - }, - "context": "#" - }, - { - "id": 45, - "type": "assign", - "from": { - "location": "incoming", - "name": "taskName", - "ptr": "" - }, - "to": { - "location": "method", - "name": 16, - "ptr": "/args/1/value" - }, - "context": "#" - }, - { - "id": 46, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "/response" - }, - "to": { - "location": "method", - "name": 16, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 48, - "type": "assign", - "from": { - "location": "method", - "name": 16, - "ptr": "/return" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "/response" - }, - "context": "#" - }, - { - "id": 49, - "type": "assign", - "from": { - "location": "incoming", - "name": "message", - "ptr": "" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "/message" - }, - "context": "#" - }, - { - "id": 50, - "type": "declaration", - "library": "String", - "method": "new String", - "args": ["SUCCESS"], - "view": { - "row": 1, - "col": 1 - }, - "context": "#" - }, - { - "id": 51, - "type": "assign", - "from": { - "location": "declaration", - "name": 50, - "ptr": "/return" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "/status" - }, - "context": "#" - }, - { - "id": 52, - "type": "assign", - "from": { - "location": "incoming", - "name": "response", - "ptr": "" - }, - "to": { - "location": "method", - "name": 16, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 53, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "/errors" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "/errors" - }, - "context": "#" - }, - { - "id": 54, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "" - }, - "context": "#" - } - ], - "functions": [ - { - "incoming": [ - { - "$id": "errorResponse", - "type": ["array", "object", "null", "string"] - }, - { - "$id": "message", - "type": "string" - } - ], - "outgoing": [ - { - "$id": "errorObject", - "type": "object", - "properties": { - "error_details": { - "type": ["array", "object", "null", "string"], - "properties": {}, - "required": [] - }, - "message": { - "type": "string" - } - }, - "required": [] - } - ], - "steps": [ - { - "id": 1, - "type": "assign", - "from": { - "location": "incoming", - "name": "errorResponse", - "ptr": "" - }, - "to": { - "location": "outgoing", - "name": "errorObject", - "ptr": "/error_details" - }, - "context": "#" - }, - { - "id": 2, - "type": "assign", - "from": { - "location": "incoming", - "name": "message", - "ptr": "" - }, - "to": { - "location": "outgoing", - "name": "errorObject", - "ptr": "/message" - }, - "context": "#" - } - ], - "functions": [], - "name": "error_object", - "view": { - "col": 2, - "row": 4 - }, - "id": "error_object", - "comments": [] - } - ], - "comments": [], - "view": { - "col": 1, - "row": 7 - }, - "created": "2025-01-23T18:58:06.514Z", - "createdBy": { - "_id": "67531c63592f8c45f4eabe88", - "provenance": "Okta", - "username": "admin@itential" - }, - "lastUpdated": "2025-01-23T20:44:00.333Z", - "lastUpdatedBy": { - "_id": "67531c63592f8c45f4eabe88", - "provenance": "Okta", - "username": "admin@itential" - }, - "version": "4.3.6-2023.2.5", - "tags": [] - } - }, - { - "iid": 2, - "reference": "6436be7b5c18656ff16ca023", - "type": "transformation", - "folder": "/Create Project", - "document": { - "_id": "6436be7b5c18656ff16ca023", - "name": "Create Error ReturnStatus", - "description": "", - "incoming": [ - { - "$id": "taskName", - "type": "string", - "examples": ["taskName"] - }, - { - "$id": "response", - "type": ["object", "string"] - }, - { - "$id": "message", - "type": "string" - }, - { - "$id": "ReturnStatus", - "type": "object" - } - ], - "outgoing": [ - { - "$id": "ReturnStatus", - "type": "object", - "properties": {}, - "required": [] - } - ], - "steps": [ - { - "id": 1, - "type": "function", - "function": "errorResponse", - "args": ["", "", "", ""], - "view": { - "row": 1, - "col": 1 - } - }, - { - "id": 2, - "type": "assign", - "from": { - "location": "incoming", - "name": "taskName", - "ptr": "" - }, - "to": { - "location": "function", - "name": 1, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 3, - "type": "assign", - "from": { - "location": "incoming", - "name": "response", - "ptr": "" - }, - "to": { - "location": "function", - "name": 1, - "ptr": "/args/1/value" - }, - "context": "#" - }, - { - "id": 4, - "type": "assign", - "from": { - "location": "incoming", - "name": "message", - "ptr": "" - }, - "to": { - "location": "function", - "name": 1, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 5, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "" - }, - "to": { - "location": "function", - "name": 1, - "ptr": "/args/3/value" - }, - "context": "#" - }, - { - "id": 6, - "type": "assign", - "from": { - "location": "function", - "name": 1, - "ptr": "/return/ReturnStatus" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "" - }, - "context": "#" - } - ], - "functions": [ - { - "incoming": [ - { - "$id": "taskName", - "type": "string" - }, - { - "$id": "response", - "type": ["object", "string"] - }, - { - "$id": "message", - "type": "string" - }, - { - "$id": "ReturnStatus", - "type": "object" - } - ], - "outgoing": [ - { - "$id": "ReturnStatus", - "type": "object" - } - ], - "steps": [ - { - "id": 2, - "type": "method", - "library": "Object", - "method": "getProperty", - "args": [null, "errors"], - "view": { - "row": 4, - "col": 1 - }, - "context": "#" - }, - { - "id": 3, - "type": "method", - "library": "Object", - "method": "getProperty", - "args": [null, "response"], - "view": { - "row": 1, - "col": 2 - }, - "context": "#" - }, - { - "id": 4, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, "error_details", null], - "view": { - "row": 2, - "col": 3 - }, - "context": "#" - }, - { - "id": 6, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, "message", null], - "view": { - "row": 1, - "col": 6 - }, - "context": "#" - }, - { - "id": 7, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, null, null], - "view": { - "row": 1, - "col": 3 - }, - "context": "#" - }, - { - "id": 8, - "type": "method", - "library": "Array", - "method": "push", - "args": [null, null], - "view": { - "row": 4, - "col": 4 - }, - "context": "#" - }, - { - "id": 9, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, "status", "FAILED"], - "view": { - "row": 2, - "col": 6 - }, - "context": "#" - }, - { - "id": 10, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "" - }, - "to": { - "location": "method", - "name": 2, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 11, - "type": "assign", - "from": { - "location": "method", - "name": 2, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 8, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 12, - "type": "assign", - "from": { - "location": "incoming", - "name": "response", - "ptr": "" - }, - "to": { - "location": "method", - "name": 4, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 16, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "" - }, - "to": { - "location": "method", - "name": 3, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 17, - "type": "assign", - "from": { - "location": "method", - "name": 3, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 7, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 18, - "type": "assign", - "from": { - "location": "incoming", - "name": "response", - "ptr": "" - }, - "to": { - "location": "method", - "name": 7, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 19, - "type": "assign", - "from": { - "location": "incoming", - "name": "taskName", - "ptr": "" - }, - "to": { - "location": "method", - "name": 7, - "ptr": "/args/1/value" - }, - "context": "#" - }, - { - "id": 20, - "type": "assign", - "from": { - "location": "incoming", - "name": "message", - "ptr": "" - }, - "to": { - "location": "method", - "name": 6, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 21, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, "response", null], - "view": { - "row": 1, - "col": 5 - }, - "context": "#" - }, - { - "id": 22, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [{}, "message", null], - "view": { - "row": 3, - "col": 2 - }, - "context": "#" - }, - { - "id": 23, - "type": "assign", - "from": { - "location": "incoming", - "name": "message", - "ptr": "" - }, - "to": { - "location": "method", - "name": 22, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 24, - "type": "assign", - "from": { - "location": "method", - "name": 22, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 4, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 25, - "type": "assign", - "from": { - "location": "method", - "name": 4, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 8, - "ptr": "/args/1/value" - }, - "context": "#" - }, - { - "id": 26, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, "errors", null], - "view": { - "row": 3, - "col": 5 - }, - "context": "#" - }, - { - "id": 27, - "type": "assign", - "from": { - "location": "method", - "name": 7, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 21, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 28, - "type": "assign", - "from": { - "location": "method", - "name": 8, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 26, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 29, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "" - }, - "to": { - "location": "method", - "name": 26, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 30, - "type": "assign", - "from": { - "location": "method", - "name": 26, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 21, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 31, - "type": "assign", - "from": { - "location": "method", - "name": 21, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 6, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 32, - "type": "assign", - "from": { - "location": "method", - "name": 6, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 9, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 33, - "type": "assign", - "from": { - "location": "method", - "name": 9, - "ptr": "/return" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "" - }, - "context": "#" - } - ], - "functions": [], - "name": "errorResponse", - "view": { - "col": 6, - "row": 8 - }, - "id": "errorResponse", - "comments": [] - } - ], - "comments": [], - "view": { - "col": 1, - "row": 7 - }, - "created": "2025-01-23T18:58:06.517Z", - "createdBy": { - "_id": "67531c63592f8c45f4eabe88", - "provenance": "Okta", - "username": "admin@itential" - }, - "lastUpdated": "2025-01-23T20:44:00.333Z", - "lastUpdatedBy": { - "_id": "67531c63592f8c45f4eabe88", - "provenance": "Okta", - "username": "admin@itential" - }, - "version": "4.3.6-2023.2.5", - "tags": [] - } - }, - { - "iid": 3, - "reference": "642c54a36ab71428ca91c814", - "type": "transformation", - "folder": "/Get Diff for Merge", - "document": { - "_id": "642c54a36ab71428ca91c814", - "name": "Create Error Output", - "description": "", - "incoming": [ - { - "$id": "ReturnStatus", - "type": "object", - "properties": { - "status": { - "type": "string" - }, - "message": { - "type": "string" - }, - "errors": { - "type": "array" - }, - "response": { - "type": "object", - "properties": {}, - "required": [] - } - }, - "required": [] - }, - { - "$id": "error_details", - "type": ["object", "string"], - "properties": {}, - "required": [] - }, - { - "$id": "message", - "type": "string" - }, - { - "$id": "taskName", - "type": "string", - "examples": ["taskName"] - } - ], - "outgoing": [ - { - "$id": "ReturnStatus", - "type": "object", - "properties": { - "status": { - "type": "string" - }, - "message": { - "type": "string" - }, - "errors": { - "type": "array" - }, - "response": { - "type": "object", - "properties": {}, - "required": [] - } - }, - "required": [] - } - ], - "steps": [ - { - "id": 1, - "type": "method", - "library": "Array", - "method": "push", - "args": [null, null], - "view": { - "row": 1, - "col": 2 - }, - "context": "#" - }, - { - "id": 16, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, null, null], - "view": { - "row": 3, - "col": 2 - }, - "context": "#" - }, - { - "id": 22, - "type": "assign", - "from": { - "location": "incoming", - "name": "error_details", - "ptr": "" - }, - "to": { - "location": "method", - "name": 16, - "ptr": "/args/2/value" - }, - "context": "#" - }, - { - "id": 37, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "/errors" - }, - "to": { - "location": "method", - "name": 1, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 40, - "type": "function", - "function": "error_object", - "args": ["", ""], - "view": { - "row": 2, - "col": 2 - } - }, - { - "id": 41, - "type": "assign", - "from": { - "location": "incoming", - "name": "error_details", - "ptr": "" - }, - "to": { - "location": "function", - "name": 40, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 42, - "type": "assign", - "from": { - "location": "incoming", - "name": "message", - "ptr": "" - }, - "to": { - "location": "function", - "name": 40, - "ptr": "/args/1/value" - }, - "context": "#" - }, - { - "id": 43, - "type": "assign", - "from": { - "location": "function", - "name": 40, - "ptr": "/return/errorObject" - }, - "to": { - "location": "method", - "name": 1, - "ptr": "/args/1/value" - }, - "context": "#" - }, - { - "id": 45, - "type": "assign", - "from": { - "location": "incoming", - "name": "taskName", - "ptr": "" - }, - "to": { - "location": "method", - "name": 16, - "ptr": "/args/1/value" - }, - "context": "#" - }, - { - "id": 46, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "/response" - }, - "to": { - "location": "method", - "name": 16, - "ptr": "/args/0/value" - }, - "context": "#" - }, - { - "id": 47, - "type": "assign", - "from": { - "location": "method", - "name": 1, - "ptr": "/return" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "/errors" - }, - "context": "#" - }, - { - "id": 48, - "type": "assign", - "from": { - "location": "method", - "name": 16, - "ptr": "/return" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "/response" - }, - "context": "#" - }, - { - "id": 49, - "type": "assign", - "from": { - "location": "incoming", - "name": "message", - "ptr": "" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "/message" - }, - "context": "#" - }, - { - "id": 50, - "type": "declaration", - "library": "String", - "method": "new String", - "args": ["FAILED"], - "view": { - "row": 1, - "col": 4 - }, - "context": "#" - }, - { - "id": 51, - "type": "assign", - "from": { - "location": "declaration", - "name": 50, - "ptr": "/return" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "/status" - }, - "context": "#" - }, - { - "id": 52, - "type": "assign", - "from": { - "location": "incoming", - "name": "ReturnStatus", - "ptr": "" - }, - "to": { - "location": "outgoing", - "name": "ReturnStatus", - "ptr": "" - }, - "context": "#" - } - ], - "functions": [ - { - "incoming": [ - { - "$id": "errorResponse", - "type": ["array", "object", "null", "string"] - }, - { - "$id": "message", - "type": "string" - } - ], - "outgoing": [ - { - "$id": "errorObject", - "type": "object", - "properties": { - "error_details": { - "type": ["array", "object", "null", "string"], - "properties": {}, - "required": [] - }, - "message": { - "type": "string" - } - }, - "required": [] - } - ], - "steps": [ - { - "id": 1, - "type": "assign", - "from": { - "location": "incoming", - "name": "errorResponse", - "ptr": "" - }, - "to": { - "location": "outgoing", - "name": "errorObject", - "ptr": "/error_details" - }, - "context": "#" - }, - { - "id": 2, - "type": "assign", - "from": { - "location": "incoming", - "name": "message", - "ptr": "" - }, - "to": { - "location": "outgoing", - "name": "errorObject", - "ptr": "/message" - }, - "context": "#" - } - ], - "functions": [], - "name": "error_object", - "view": { - "col": 2, - "row": 4 - }, - "id": "error_object", - "comments": [] - } - ], - "comments": [], - "view": { - "col": 4, - "row": 7 - }, - "created": "2025-01-23T18:58:06.516Z", - "createdBy": { - "_id": "67531c63592f8c45f4eabe88", - "provenance": "Okta", - "username": "admin@itential" - }, - "lastUpdated": "2025-01-23T20:44:00.334Z", - "lastUpdatedBy": { - "_id": "67531c63592f8c45f4eabe88", - "provenance": "Okta", - "username": "admin@itential" - }, - "version": "4.3.6-2023.2.5", - "tags": [] - } - }, - { - "iid": 4, - "reference": "6217b5d67393d9019373d130", - "type": "transformation", - "folder": "/Push Commit to Branch", - "document": { - "_id": "6217b5d67393d9019373d130", - "name": "Build Commit Payload", - "description": "", - "incoming": [ - { - "$id": "branchName", - "type": "string" - }, - { - "$id": "commitMessage", - "type": "string" - }, - { - "$id": "commitAction", - "type": "string" - }, - { - "$id": "filePath", - "type": "string" - }, - { - "$id": "fileContent", - "type": "string" - } - ], - "outgoing": [ - { - "$id": "commitPayload", - "type": "object", - "properties": { - "branch": { - "type": "string", - "examples": ["master"] - }, - "commit_message": { - "type": "string", - "examples": ["some commit message"] - }, - "actions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "action": { - "type": "string", - "examples": ["create"] - }, - "file_path": { - "type": "string", - "examples": ["file/path"] - }, - "content": { - "type": "string", - "examples": ["some content"] - } - }, - "required": [] - } - } - }, - "required": [] - } - ], - "steps": [ - { - "id": 1, - "type": "declaration", - "library": "Object", - "method": "new Object", - "args": [null], - "view": { - "row": 2, - "col": 1 - } - }, - { - "id": 2, - "type": "assign", - "from": { - "location": "incoming", - "name": "branchName", - "ptr": "" - }, - "to": { - "location": "outgoing", - "name": "commitPayload", - "ptr": "/branch" - } - }, - { - "id": 3, - "type": "assign", - "from": { - "location": "incoming", - "name": "commitMessage", - "ptr": "" - }, - "to": { - "location": "outgoing", - "name": "commitPayload", - "ptr": "/commit_message" - } - }, - { - "id": 4, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, "action", null], - "view": { - "row": 2, - "col": 2 - } - }, - { - "id": 5, - "type": "assign", - "from": { - "location": "declaration", - "name": 1, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 4, - "ptr": "/args/0/value" - } - }, - { - "id": 6, - "type": "assign", - "from": { - "location": "incoming", - "name": "commitAction", - "ptr": "" - }, - "to": { - "location": "method", - "name": 4, - "ptr": "/args/2/value" - } - }, - { - "id": 7, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, "file_path", null], - "view": { - "row": 3, - "col": 2 - } - }, - { - "id": 8, - "type": "assign", - "from": { - "location": "method", - "name": 4, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 7, - "ptr": "/args/0/value" - } - }, - { - "id": 9, - "type": "assign", - "from": { - "location": "incoming", - "name": "filePath", - "ptr": "" - }, - "to": { - "location": "method", - "name": 7, - "ptr": "/args/2/value" - } - }, - { - "id": 10, - "type": "method", - "library": "Object", - "method": "setProperty", - "args": [null, "content", null], - "view": { - "row": 4, - "col": 2 - } - }, - { - "id": 11, - "type": "assign", - "from": { - "location": "incoming", - "name": "fileContent", - "ptr": "" - }, - "to": { - "location": "method", - "name": 10, - "ptr": "/args/2/value" - } - }, - { - "id": 12, - "type": "assign", - "from": { - "location": "method", - "name": 7, - "ptr": "/return" - }, - "to": { - "location": "method", - "name": 10, - "ptr": "/args/0/value" - } - }, - { - "id": 13, - "type": "declaration", - "library": "Array", - "method": "new Array", - "args": [null], - "view": { - "row": 2, - "col": 3 - }, - "polymorphIndex": 0 - }, - { - "id": 14, - "type": "assign", - "from": { - "location": "declaration", - "name": 13, - "ptr": "/return" - }, - "to": { - "location": "outgoing", - "name": "commitPayload", - "ptr": "/actions" - } - }, - { - "id": 15, - "type": "assign", - "from": { - "location": "method", - "name": 10, - "ptr": "/return" - }, - "to": { - "location": "declaration", - "name": 13, - "ptr": "/args/0/value" - } - } - ], - "functions": [], - "comments": [], - "view": { - "col": 3, - "row": 5 - }, - "created": "2025-01-23T18:58:06.523Z", - "createdBy": { - "_id": "67531c63592f8c45f4eabe88", - "provenance": "Okta", - "username": "admin@itential" - }, - "lastUpdated": "2025-01-23T20:44:00.335Z", - "lastUpdatedBy": { - "_id": "67531c63592f8c45f4eabe88", - "provenance": "Okta", - "username": "admin@itential" - }, - "version": "4.3.6-2023.2.5", - "tags": [] - } - }, - { - "iid": 5, - "reference": "6c5b8ced-a781-451f-b6ac-3d21a7cd4efa", - "type": "workflow", - "folder": "/Get Diff for Merge", - "document": { - "name": "Get Diff for Merge", - "tasks": { - "1253": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Format Get Project Result", - "description": "project found ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "642c59bd6ab71428ca91c815", - "variableMap": { - "ReturnStatus": "$var.job.ReturnStatus", - "message": "Project found", - "taskName": "get a project", - "response": "$var.4dc0.result" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } - }, - "outgoing": { - "ReturnStatus": null - }, - "decorators": [] - }, - "groups": [], - "task_name": "handlePBLTsuccess", - "retrySettings": null, - "nodeLocation": { - "x": 1236, - "y": 408 - } - }, + "reference": "63b88db5-00f7-47ca-8b64-e7a942036403", + "type": "workflow", + "folder": "/Groups", + "document": { + "name": "List Groups", + "description": "List Groups", + "type": "automation", + "font_size": 12, + "tasks": { "workflow_start": { "name": "workflow_start", "groups": [], "nodeLocation": { - "x": 1236, - "y": 72 - } - }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "nodeLocation": { - "x": 1236, - "y": 1272 - } - }, - "61cd": { - "name": "getV4ProjectsIdMergeRequestsMergeRequestIdVersions", - "canvasName": "getV4ProjectsIdMergeRequestsMergeRequestIdVersions", - "summary": "Get MR Diff Versions", - "description": "This feature was introduced in GitLab 8.12. Get mr diff versions", - "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", - "type": "automatic", - "displayName": "Gitlab", - "variables": { - "incoming": { - "id": "$var.job.projectId", - "mergeRequestIid": "$var.job.mergeRequestIid", - "adapter_id": "$var.job.adapterId" - }, - "outgoing": { - "result": null - }, - "error": "", - "decorators": [] - }, - "groups": [], - "actor": "Pronghorn", - "scheduled": false, - "nodeLocation": { - "x": 1236, - "y": 576 - } - }, - "af15": { - "name": "query", - "canvasName": "query", - "summary": "Get Commit SHA", - "description": "Get Commit SHA from mr", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "head_commit_sha", - "obj": "$var.335e.current_item" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": 1512, - "y": 828 + "x": 264, + "y": 0 } }, - "a317": { - "name": "getV4ProjectsIdRepositoryCommitsShaDiff", - "canvasName": "getV4ProjectsIdRepositoryCommitsShaDiff", - "summary": "Get Commit Diff", - "description": "Get the diff for a specific commit of a project", + "a1a1": { + "name": "getApiV4Groups", + "canvasName": "getApiV4Groups", + "summary": "getApiV4Groups", + "description": "getApiV4Groups", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Gitlab", + "displayName": "GitLab", "variables": { "incoming": { - "id": "$var.job.projectId", - "sha": "$var.af15.return_data", - "adapter_id": "$var.job.adapterId" + "adapter_id": "GitLab" }, "outgoing": { - "result": null + "response": null }, "error": "", "decorators": [] @@ -2107,162 +46,111 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": 1788, - "y": 828 + "x": 264, + "y": 150 } }, - "335e": { - "name": "forEach", - "canvasName": "forEach", - "summary": "Loop Through MR Diff", - "description": "Iterate over each item returned by mr diff call", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "data_array": "$var.9cf2.return_data" - }, - "outgoing": { - "current_item": "$var.job.current_item" - }, - "error": "", - "decorators": [] - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "scheduled": false, "nodeLocation": { - "x": 1236, - "y": 828 + "x": 264, + "y": 300 } - }, - "9cf2": { - "name": "query", - "canvasName": "query", - "summary": "Get MR Diff", - "description": "Query results from merge request diff call", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response", - "obj": "$var.61cd.result" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": 1236, - "y": 744 + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "61db": { - "name": "query", - "canvasName": "query", - "summary": "Get Diff Response", - "description": "Query data for diff response", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response", - "obj": "$var.a317.result" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": 2064, - "y": 828 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "afc5": { - "name": "newVariable", - "canvasName": "Result Array", - "summary": "Create Result Array", - "description": "Create new array to hold results.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "result", - "value": [] - }, - "outgoing": { - "value": null - } + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, - "groups": [], - "nodeLocation": { - "x": 1236, - "y": 660 + "initiator": { + "type": "string" } - }, - "83a6": { - "name": "push", - "canvasName": "push", - "summary": "Add Diff To Array", - "description": "Push diff item to a job variable array", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "job_variable": "result", - "item_to_push": "$var.61db.return_data" - }, - "outgoing": { - "job_variable_value": null - } - }, + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "fc721b6a-3e9b-43be-8800-64b112135a27", + "created": "2026-08-12T20:06:02.725Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 1, + "reference": "33b1e590-69e1-4067-91b0-f59505808e79", + "type": "workflow", + "folder": "/Groups", + "document": { + "name": "Create Group", + "description": "Create Group", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": 2340, - "y": 828 + "x": 264, + "y": 0 } }, - "4dc0": { - "name": "getV4ProjectsId", - "canvasName": "getV4ProjectsId", - "summary": "Get Project", - "description": "Get a single project", + "a1a1": { + "name": "postApiV4Groups", + "canvasName": "postApiV4Groups", + "summary": "postApiV4Groups", + "description": "postApiV4Groups", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Gitlab", + "displayName": "GitLab", "variables": { "incoming": { - "id": "$var.job.projectId", - "adapter_id": "$var.job.adapterId" + "adapter_id": "GitLab", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" }, "outgoing": { - "result": null + "response": null }, "error": "", "decorators": [] @@ -2271,497 +159,700 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": 1236, - "y": 324 + "x": 264, + "y": 150 } }, - "821c": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Result Data", - "description": "Create job variable to hold results of workflow.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": { - "status": "", - "message": "", - "errors": [], - "response": {} - } - }, - "outgoing": { - "value": null - } - }, + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": 1236, - "y": 156 + "x": 264, + "y": 300 } - }, - "bbc7": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Format Error", - "description": "project not found ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "642c54a36ab71428ca91c814", - "variableMap": { - "ReturnStatus": "$var.job.ReturnStatus", - "error_details": "$var.4dc0.error", - "message": "Project not found", - "taskName": "get a project" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } - }, - "outgoing": { - "ReturnStatus": null - }, - "decorators": [] - }, - "groups": [], - "task_name": "handlePBLTerror (clone 1)", - "retrySettings": null, - "nodeLocation": { - "x": 1524, - "y": 324 + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "85f7": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Error ReturnStatus", - "description": "Create a new Job variable with error status", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": "$var.bbc7.ReturnStatus" - }, - "outgoing": { - "value": null - } - }, - "groups": [], - "nodeLocation": { - "x": 1800, - "y": 324 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "7b6c": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Zero Touch Option", - "description": "Eval for zero touch mode", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "verbose", - "task": "job", - "editable": true - }, - "operator": "==", - "operand_2": { - "variable": true, - "task": "static" + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the group" + }, + "path": { + "type": "string", + "description": "The path of the group" + }, + "parent_id": { + "type": "integer", + "format": "int32", + "description": "The parent group id for creating nested group" + }, + "organization_id": { + "type": "integer", + "format": "int32", + "description": "The organization id for the group" + }, + "description": { + "type": "string", + "description": "The description of the group" + }, + "visibility": { + "type": "string", + "description": "The visibility of the group", + "enum": [ + "private", + "internal", + "public" + ] + }, + "avatar": { + "type": "string", + "description": "Avatar image for the group", + "format": "binary" + }, + "share_with_group_lock": { + "type": "boolean", + "description": "Prevent sharing a project with another group within this group" + }, + "require_two_factor_authentication": { + "type": "boolean", + "description": "Require all users in this group to setup Two-factor authentication" + }, + "two_factor_grace_period": { + "type": "integer", + "format": "int32", + "description": "Time before Two-factor authentication is enforced" + }, + "project_creation_level": { + "type": "string", + "description": "Determine if developers can create projects in the group", + "enum": [ + "noone", + "maintainer", + "developer" + ] + }, + "auto_devops_enabled": { + "type": "boolean", + "description": "Default to Auto DevOps pipeline for all projects within this group" + }, + "subgroup_creation_level": { + "type": "string", + "description": "Allowed to create subgroups", + "enum": [ + "owner", + "maintainer" + ] + }, + "emails_disabled": { + "type": "boolean", + "description": "_(Deprecated)_ Disable email notifications. Use: emails_enabled" + }, + "emails_enabled": { + "type": "boolean", + "description": "Enable email notifications" + }, + "show_diff_preview_in_email": { + "type": "boolean", + "description": "Include the code diff preview in merge request notification emails" + }, + "mentions_disabled": { + "type": "boolean", + "description": "Disable a group from getting mentioned" + }, + "lfs_enabled": { + "type": "boolean", + "description": "Enable/disable LFS for the projects in this group" + }, + "request_access_enabled": { + "type": "boolean", + "description": "Allow users to request member access" + }, + "default_branch": { + "type": "string", + "description": "The default branch of group's projects", + "example": "main" + }, + "default_branch_protection": { + "type": "integer", + "format": "int32", + "description": "Determine if developers can push to default branch", + "enum": [ + 0, + 3, + 1, + 2, + 4 + ] + }, + "default_branch_protection_defaults": { + "type": "object", + "description": "Determine if developers can push to default branch", + "properties": { + "allowed_to_push": { + "type": "array", + "description": "An array of access levels allowed to push", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level", + "enum": [ + 30, + 40 + ] + } }, - "rightQuery": "" + "required": [ + "access_level" + ] } - ] + }, + "allow_force_push": { + "type": "boolean", + "description": "Allow force push for all users with push access." + }, + "allowed_to_merge": { + "type": "array", + "description": "An array of access levels allowed to merge", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level", + "enum": [ + 30, + 40 + ] + } + }, + "required": [ + "access_level" + ] + } + }, + "code_owner_approval_required": { + "type": "boolean", + "description": "Require approval from code owners" + }, + "developer_can_initial_push": { + "type": "boolean", + "description": "Allow developers to initial push" + } } - ] - }, - "outgoing": { - "return_value": null - } - }, - "groups": [], - "nodeLocation": { - "x": 2076, - "y": 324 - } - }, - "ce40": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "View Error", - "description": "Displays message containing error data", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "ReturnStatus", - "message": "Failed to get Project", - "body": "Failed to get project form the repo. please verify the project Id", - "variables": "", - "btn_success": "Exit", - "btn_failure": "" - }, - "outgoing": {}, - "error": "", - "decorators": [] - }, - "view": "/workflow_engine/task/ViewData", - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": 2352, - "y": 324 - } - }, - "e40": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Success ReturnStatus", - "description": "Success ReturnStatus for get project", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": "$var.1253.ReturnStatus" + }, + "shared_runners_setting": { + "type": "string", + "description": "Enable/disable shared runners for the group and its subgroups and projects", + "enum": [ + "disabled_and_unoverridable", + "disabled_and_overridable", + "enabled" + ] + }, + "enabled_git_access_protocol": { + "type": "string", + "description": "Allow only the selected protocols to be used for Git access.", + "enum": [ + "ssh", + "http", + "all" + ] + }, + "membership_lock": { + "type": "boolean", + "description": "Prevent adding new members to projects within this group" + }, + "ldap_cn": { + "type": "string", + "description": "LDAP Common Name" + }, + "ldap_access": { + "type": "integer", + "format": "int32", + "description": "A valid access level" + }, + "shared_runners_minutes_limit": { + "type": "integer", + "format": "int32", + "description": "(admin-only) Compute minutes quota for this group" + }, + "extra_shared_runners_minutes_limit": { + "type": "integer", + "format": "int32", + "description": "(admin-only) Extra compute minutes quota for this group" + }, + "wiki_access_level": { + "type": "string", + "description": "Wiki access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + } }, - "outgoing": { - "value": null - } - }, - "groups": [], - "nodeLocation": { - "x": 1236, - "y": 492 + "required": [ + "name", + "path" + ], + "description": "Create a group. Available only for users who can create groups." } }, - "1b29": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Format Merge ID Error", - "description": "merge id not found ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "642c54a36ab71428ca91c814", - "variableMap": { - "ReturnStatus": "$var.job.ReturnStatus", - "error_details": "$var.61cd.error", - "message": "merge id not found", - "taskName": "get merge" + "required": [ + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the group" + }, + "path": { + "type": "string", + "description": "The path of the group" + }, + "parent_id": { + "type": "integer", + "format": "int32", + "description": "The parent group id for creating nested group" + }, + "organization_id": { + "type": "integer", + "format": "int32", + "description": "The organization id for the group" + }, + "description": { + "type": "string", + "description": "The description of the group" + }, + "visibility": { + "type": "string", + "description": "The visibility of the group", + "enum": [ + "private", + "internal", + "public" + ] + }, + "avatar": { + "type": "string", + "description": "Avatar image for the group", + "format": "binary" + }, + "share_with_group_lock": { + "type": "boolean", + "description": "Prevent sharing a project with another group within this group" }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true + "require_two_factor_authentication": { + "type": "boolean", + "description": "Require all users in this group to setup Two-factor authentication" + }, + "two_factor_grace_period": { + "type": "integer", + "format": "int32", + "description": "Time before Two-factor authentication is enforced" + }, + "project_creation_level": { + "type": "string", + "description": "Determine if developers can create projects in the group", + "enum": [ + "noone", + "maintainer", + "developer" + ] + }, + "auto_devops_enabled": { + "type": "boolean", + "description": "Default to Auto DevOps pipeline for all projects within this group" + }, + "subgroup_creation_level": { + "type": "string", + "description": "Allowed to create subgroups", + "enum": [ + "owner", + "maintainer" + ] + }, + "emails_disabled": { + "type": "boolean", + "description": "_(Deprecated)_ Disable email notifications. Use: emails_enabled" + }, + "emails_enabled": { + "type": "boolean", + "description": "Enable email notifications" + }, + "show_diff_preview_in_email": { + "type": "boolean", + "description": "Include the code diff preview in merge request notification emails" + }, + "mentions_disabled": { + "type": "boolean", + "description": "Disable a group from getting mentioned" + }, + "lfs_enabled": { + "type": "boolean", + "description": "Enable/disable LFS for the projects in this group" + }, + "request_access_enabled": { + "type": "boolean", + "description": "Allow users to request member access" + }, + "default_branch": { + "type": "string", + "description": "The default branch of group's projects", + "example": "main" + }, + "default_branch_protection": { + "type": "integer", + "format": "int32", + "description": "Determine if developers can push to default branch", + "enum": [ + 0, + 3, + 1, + 2, + 4 + ] + }, + "default_branch_protection_defaults": { + "type": "object", + "description": "Determine if developers can push to default branch", + "properties": { + "allowed_to_push": { + "type": "array", + "description": "An array of access levels allowed to push", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level", + "enum": [ + 30, + 40 + ] + } + }, + "required": [ + "access_level" + ] + } + }, + "allow_force_push": { + "type": "boolean", + "description": "Allow force push for all users with push access." + }, + "allowed_to_merge": { + "type": "array", + "description": "An array of access levels allowed to merge", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level", + "enum": [ + 30, + 40 + ] + } + }, + "required": [ + "access_level" + ] + } + }, + "code_owner_approval_required": { + "type": "boolean", + "description": "Require approval from code owners" + }, + "developer_can_initial_push": { + "type": "boolean", + "description": "Allow developers to initial push" + } + } + }, + "shared_runners_setting": { + "type": "string", + "description": "Enable/disable shared runners for the group and its subgroups and projects", + "enum": [ + "disabled_and_unoverridable", + "disabled_and_overridable", + "enabled" + ] + }, + "enabled_git_access_protocol": { + "type": "string", + "description": "Allow only the selected protocols to be used for Git access.", + "enum": [ + "ssh", + "http", + "all" + ] + }, + "membership_lock": { + "type": "boolean", + "description": "Prevent adding new members to projects within this group" + }, + "ldap_cn": { + "type": "string", + "description": "LDAP Common Name" + }, + "ldap_access": { + "type": "integer", + "format": "int32", + "description": "A valid access level" + }, + "shared_runners_minutes_limit": { + "type": "integer", + "format": "int32", + "description": "(admin-only) Compute minutes quota for this group" + }, + "extra_shared_runners_minutes_limit": { + "type": "integer", + "format": "int32", + "description": "(admin-only) Extra compute minutes quota for this group" + }, + "wiki_access_level": { + "type": "string", + "description": "Wiki access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] } }, - "outgoing": { - "ReturnStatus": null - }, - "decorators": [] + "required": [ + "name", + "path" + ], + "description": "Create a group. Available only for users who can create groups." + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "98cd1394-7e93-4d01-af79-963d279d0272", + "created": "2026-08-12T20:06:02.790Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 2, + "reference": "3e6697cd-564b-4d30-b61a-3f021d8a9033", + "type": "workflow", + "folder": "/Groups", + "document": { + "name": "Get Group", + "description": "Get Group", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], - "task_name": "handlePBLTerror (clone 1)", - "retrySettings": null, "nodeLocation": { - "x": 1524, - "y": 576 + "x": 264, + "y": 0 } }, - "ceaf": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Error ReturnStatus", - "description": "Job variable for merge id not found ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", + "a1a1": { + "name": "getApiV4GroupsId", + "canvasName": "getApiV4GroupsId", + "summary": "getApiV4GroupsId", + "description": "getApiV4GroupsId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", "variables": { "incoming": { - "name": "ReturnStatus", - "value": "$var.1b29.ReturnStatus" + "adapter_id": "GitLab", + "id": "$var.job.id" }, "outgoing": { - "value": null - } - }, - "groups": [], - "nodeLocation": { - "x": 1800, - "y": 576 - } - }, - "5c9": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "View Error", - "description": "Displays message containing error data", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "ReturnStatus", - "message": "Merge Id not found", - "body": "Merge id not found. Please verify the merge id.", - "variables": "", - "btn_success": "exit", - "btn_failure": "" + "response": null }, - "outgoing": {}, "error": "", "decorators": [] }, - "view": "/workflow_engine/task/ViewData", "groups": [], + "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": 2352, - "y": 576 + "x": 264, + "y": 150 } }, - "2e9": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Zero Touch Option", - "description": "Eval for zero touch mode", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "verbose", - "task": "job", - "editable": true - }, - "operator": "==", - "operand_2": { - "variable": true, - "task": "static" - }, - "rightQuery": "" - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } - }, + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": 2076, - "y": 576 + "x": 264, + "y": 300 } - }, - "7bb1": { - "name": "transformation", - "canvasName": "transformation", - "summary": "ReturnStatus After Diff", - "description": "ReturnStatus after Diff", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "642c59bd6ab71428ca91c815", - "variableMap": { - "ReturnStatus": "$var.job.ReturnStatus", - "message": "Diff found", - "taskName": "get diff for a specific committ", - "response": "$var.a317.result" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } - }, - "outgoing": { - "ReturnStatus": null - }, - "decorators": [] - }, - "groups": [], - "task_name": "handlePBLTsuccess", - "retrySettings": null, - "nodeLocation": { - "x": 1236, - "y": 912 + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "fe04": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Success ReturnStatus", - "description": "Job variable to hold diff results", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": "$var.7bb1.ReturnStatus" - }, - "outgoing": { - "value": null - } - }, - "groups": [], - "nodeLocation": { - "x": 1236, - "y": 996 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "623d": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Zero Touch Option", - "description": "Eval for zero touch mode", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "verbose", - "task": "job", - "editable": true - }, - "operator": "==", - "operand_2": { - "variable": true, - "task": "static" - }, - "rightQuery": "" - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } - }, - "groups": [], - "nodeLocation": { - "x": 1236, - "y": 1080 + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" } }, - "45d5": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "View Success", - "description": "View results from successful diff ", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "ReturnStatus", - "message": "ReturnStatus", - "body": "$var.job.result", - "variables": "", - "btn_success": "Success", - "btn_failure": "" - }, - "outgoing": {}, - "error": "", - "decorators": [] + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, - "view": "/workflow_engine/task/ViewData", + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "52b3345b-58c9-4a0e-809a-183ae5d62a5d", + "created": "2026-08-12T20:06:02.827Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 3, + "reference": "806e3374-a11a-4dad-879d-fe003522c34c", + "type": "workflow", + "folder": "/Groups", + "document": { + "name": "Update Group", + "description": "Update Group", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], - "scheduled": false, "nodeLocation": { - "x": 1236, - "y": 1164 + "x": 264, + "y": 0 } }, - "fe3d": { - "name": "setObjectKey", - "canvasName": "setObjectKey", - "summary": "Set Merge Request ID", - "description": "Set Merge Request ID in return status", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", + "a1a1": { + "name": "putApiV4GroupsId", + "canvasName": "putApiV4GroupsId", + "summary": "putApiV4GroupsId", + "description": "putApiV4GroupsId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Object", + "displayName": "GitLab", "variables": { "incoming": { - "obj": "$var.job.ReturnStatus", - "path": ["mergeRequestId"], - "value": "$var.job.mergeRequestIid" + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" }, "outgoing": { - "object": "$var.job.ReturnStatus" + "response": null }, "error": "", "decorators": [] @@ -2770,315 +861,861 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": 1236, - "y": 240 + "x": 264, + "y": 150 } }, - "727a": { - "name": "stub", - "canvasName": "stub", - "summary": "Error Path", - "description": "Stub to clean up error path", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Tools", - "variables": { - "incoming": { - "type": "success", - "delay": "", - "response": "" - }, - "outgoing": { - "response": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 2352, - "y": 408 - } - }, - "d1b1": { - "name": "stub", - "canvasName": "stub", - "summary": "Error Path", - "description": "Stub to clean up error path", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Tools", - "variables": { - "incoming": { - "type": "success", - "delay": "", - "response": "" - }, - "outgoing": { - "response": "" - } - }, - "actor": "Pronghorn", + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": 2352, - "y": 672 + "x": 264, + "y": 300 } } }, "transitions": { - "1253": { - "e40": { + "workflow_start": { + "a1a1": { "type": "standard", "state": "success" } }, - "7263": {}, - "workflow_start": { - "821c": { + "a1a1": { + "workflow_end": { "type": "standard", "state": "success" } }, - "workflow_end": {}, - "61cd": { - "afc5": { - "type": "standard", - "state": "success" + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "1b29": { - "type": "standard", - "state": "error" + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the group" + }, + "path": { + "type": "string", + "description": "The path of the group" + }, + "description": { + "type": "string", + "description": "The description of the group" + }, + "visibility": { + "type": "string", + "description": "The visibility of the group", + "enum": [ + "private", + "internal", + "public" + ] + }, + "avatar": { + "type": "string", + "description": "Avatar image for the group", + "format": "binary" + }, + "share_with_group_lock": { + "type": "boolean", + "description": "Prevent sharing a project with another group within this group" + }, + "require_two_factor_authentication": { + "type": "boolean", + "description": "Require all users in this group to setup Two-factor authentication" + }, + "two_factor_grace_period": { + "type": "integer", + "format": "int32", + "description": "Time before Two-factor authentication is enforced" + }, + "project_creation_level": { + "type": "string", + "description": "Determine if developers can create projects in the group", + "enum": [ + "noone", + "maintainer", + "developer" + ] + }, + "auto_devops_enabled": { + "type": "boolean", + "description": "Default to Auto DevOps pipeline for all projects within this group" + }, + "subgroup_creation_level": { + "type": "string", + "description": "Allowed to create subgroups", + "enum": [ + "owner", + "maintainer" + ] + }, + "emails_disabled": { + "type": "boolean", + "description": "_(Deprecated)_ Disable email notifications. Use: emails_enabled" + }, + "emails_enabled": { + "type": "boolean", + "description": "Enable email notifications" + }, + "show_diff_preview_in_email": { + "type": "boolean", + "description": "Include the code diff preview in merge request notification emails" + }, + "mentions_disabled": { + "type": "boolean", + "description": "Disable a group from getting mentioned" + }, + "lfs_enabled": { + "type": "boolean", + "description": "Enable/disable LFS for the projects in this group" + }, + "request_access_enabled": { + "type": "boolean", + "description": "Allow users to request member access" + }, + "default_branch": { + "type": "string", + "description": "The default branch of group's projects", + "example": "main" + }, + "default_branch_protection": { + "type": "integer", + "format": "int32", + "description": "Determine if developers can push to default branch", + "enum": [ + 0, + 3, + 1, + 2, + 4 + ] + }, + "default_branch_protection_defaults": { + "type": "object", + "description": "Determine if developers can push to default branch", + "properties": { + "allowed_to_push": { + "type": "array", + "description": "An array of access levels allowed to push", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level", + "enum": [ + 30, + 40 + ] + } + }, + "required": [ + "access_level" + ] + } + }, + "allow_force_push": { + "type": "boolean", + "description": "Allow force push for all users with push access." + }, + "allowed_to_merge": { + "type": "array", + "description": "An array of access levels allowed to merge", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level", + "enum": [ + 30, + 40 + ] + } + }, + "required": [ + "access_level" + ] + } + }, + "code_owner_approval_required": { + "type": "boolean", + "description": "Require approval from code owners" + }, + "developer_can_initial_push": { + "type": "boolean", + "description": "Allow developers to initial push" + } + } + }, + "shared_runners_setting": { + "type": "string", + "description": "Enable/disable shared runners for the group and its subgroups and projects", + "enum": [ + "disabled_and_unoverridable", + "disabled_and_overridable", + "enabled" + ] + }, + "enabled_git_access_protocol": { + "type": "string", + "description": "Allow only the selected protocols to be used for Git access.", + "enum": [ + "ssh", + "http", + "all" + ] + }, + "membership_lock": { + "type": "boolean", + "description": "Prevent adding new members to projects within this group" + }, + "ldap_cn": { + "type": "string", + "description": "LDAP Common Name" + }, + "ldap_access": { + "type": "integer", + "format": "int32", + "description": "A valid access level" + }, + "shared_runners_minutes_limit": { + "type": "integer", + "format": "int32", + "description": "(admin-only) Compute minutes quota for this group" + }, + "extra_shared_runners_minutes_limit": { + "type": "integer", + "format": "int32", + "description": "(admin-only) Extra compute minutes quota for this group" + }, + "wiki_access_level": { + "type": "string", + "description": "Wiki access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "prevent_sharing_groups_outside_hierarchy": { + "type": "boolean", + "description": "Prevent sharing groups within this namespace with any groups outside the namespace. Only available on top-level groups." + }, + "lock_math_rendering_limits_enabled": { + "type": "boolean", + "description": "Indicates if math rendering limits are locked for all descendent groups." + }, + "math_rendering_limits_enabled": { + "type": "boolean", + "description": "Indicates if math rendering limits are used for this group." + }, + "file_template_project_id": { + "type": "integer", + "format": "int32", + "description": "The ID of a project to use for custom templates in this group" + }, + "prevent_forking_outside_group": { + "type": "boolean", + "description": "Prevent forking projects inside this group to external namespaces" + }, + "unique_project_download_limit": { + "type": "integer", + "format": "int32", + "description": "Maximum number of unique projects a user can download in the specified time period before they are banned." + }, + "unique_project_download_limit_interval_in_seconds": { + "type": "integer", + "format": "int32", + "description": "Time period during which a user can download a maximum amount of projects before they are banned." + }, + "unique_project_download_limit_allowlist": { + "type": "array", + "description": "List of usernames excluded from the unique project download limit", + "items": { + "type": "string" + } + }, + "unique_project_download_limit_alertlist": { + "type": "array", + "description": "List of user ids who will be emailed when Git abuse rate limit is exceeded", + "items": { + "type": "integer", + "format": "int32" + } + }, + "auto_ban_user_on_excessive_projects_download": { + "type": "boolean", + "description": "Ban users from the group when they exceed maximum number of unique projects download in the specified time period" + }, + "ip_restriction_ranges": { + "type": "string", + "description": "List of IP addresses which need to be restricted for group" + }, + "service_access_tokens_expiration_enforced": { + "type": "boolean", + "description": "To enforce token expiration for Service accounts users for group" + }, + "duo_features_enabled": { + "type": "boolean", + "description": "Indicates whether GitLab Duo features are enabled for the group" + }, + "lock_duo_features_enabled": { + "type": "boolean", + "description": "Indicates if the GitLab Duo features enabled setting is enforced for all subgroups" + } + }, + "description": "Update a group. Available only for users who can administrate groups." } }, - "af15": { - "a317": { - "type": "standard", - "state": "success" + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the group" + }, + "path": { + "type": "string", + "description": "The path of the group" + }, + "description": { + "type": "string", + "description": "The description of the group" + }, + "visibility": { + "type": "string", + "description": "The visibility of the group", + "enum": [ + "private", + "internal", + "public" + ] + }, + "avatar": { + "type": "string", + "description": "Avatar image for the group", + "format": "binary" + }, + "share_with_group_lock": { + "type": "boolean", + "description": "Prevent sharing a project with another group within this group" + }, + "require_two_factor_authentication": { + "type": "boolean", + "description": "Require all users in this group to setup Two-factor authentication" + }, + "two_factor_grace_period": { + "type": "integer", + "format": "int32", + "description": "Time before Two-factor authentication is enforced" + }, + "project_creation_level": { + "type": "string", + "description": "Determine if developers can create projects in the group", + "enum": [ + "noone", + "maintainer", + "developer" + ] + }, + "auto_devops_enabled": { + "type": "boolean", + "description": "Default to Auto DevOps pipeline for all projects within this group" + }, + "subgroup_creation_level": { + "type": "string", + "description": "Allowed to create subgroups", + "enum": [ + "owner", + "maintainer" + ] + }, + "emails_disabled": { + "type": "boolean", + "description": "_(Deprecated)_ Disable email notifications. Use: emails_enabled" + }, + "emails_enabled": { + "type": "boolean", + "description": "Enable email notifications" + }, + "show_diff_preview_in_email": { + "type": "boolean", + "description": "Include the code diff preview in merge request notification emails" + }, + "mentions_disabled": { + "type": "boolean", + "description": "Disable a group from getting mentioned" + }, + "lfs_enabled": { + "type": "boolean", + "description": "Enable/disable LFS for the projects in this group" + }, + "request_access_enabled": { + "type": "boolean", + "description": "Allow users to request member access" + }, + "default_branch": { + "type": "string", + "description": "The default branch of group's projects", + "example": "main" + }, + "default_branch_protection": { + "type": "integer", + "format": "int32", + "description": "Determine if developers can push to default branch", + "enum": [ + 0, + 3, + 1, + 2, + 4 + ] + }, + "default_branch_protection_defaults": { + "type": "object", + "description": "Determine if developers can push to default branch", + "properties": { + "allowed_to_push": { + "type": "array", + "description": "An array of access levels allowed to push", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level", + "enum": [ + 30, + 40 + ] + } + }, + "required": [ + "access_level" + ] + } + }, + "allow_force_push": { + "type": "boolean", + "description": "Allow force push for all users with push access." + }, + "allowed_to_merge": { + "type": "array", + "description": "An array of access levels allowed to merge", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level", + "enum": [ + 30, + 40 + ] + } + }, + "required": [ + "access_level" + ] + } + }, + "code_owner_approval_required": { + "type": "boolean", + "description": "Require approval from code owners" + }, + "developer_can_initial_push": { + "type": "boolean", + "description": "Allow developers to initial push" + } + } + }, + "shared_runners_setting": { + "type": "string", + "description": "Enable/disable shared runners for the group and its subgroups and projects", + "enum": [ + "disabled_and_unoverridable", + "disabled_and_overridable", + "enabled" + ] + }, + "enabled_git_access_protocol": { + "type": "string", + "description": "Allow only the selected protocols to be used for Git access.", + "enum": [ + "ssh", + "http", + "all" + ] + }, + "membership_lock": { + "type": "boolean", + "description": "Prevent adding new members to projects within this group" + }, + "ldap_cn": { + "type": "string", + "description": "LDAP Common Name" + }, + "ldap_access": { + "type": "integer", + "format": "int32", + "description": "A valid access level" + }, + "shared_runners_minutes_limit": { + "type": "integer", + "format": "int32", + "description": "(admin-only) Compute minutes quota for this group" + }, + "extra_shared_runners_minutes_limit": { + "type": "integer", + "format": "int32", + "description": "(admin-only) Extra compute minutes quota for this group" + }, + "wiki_access_level": { + "type": "string", + "description": "Wiki access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "prevent_sharing_groups_outside_hierarchy": { + "type": "boolean", + "description": "Prevent sharing groups within this namespace with any groups outside the namespace. Only available on top-level groups." + }, + "lock_math_rendering_limits_enabled": { + "type": "boolean", + "description": "Indicates if math rendering limits are locked for all descendent groups." + }, + "math_rendering_limits_enabled": { + "type": "boolean", + "description": "Indicates if math rendering limits are used for this group." + }, + "file_template_project_id": { + "type": "integer", + "format": "int32", + "description": "The ID of a project to use for custom templates in this group" + }, + "prevent_forking_outside_group": { + "type": "boolean", + "description": "Prevent forking projects inside this group to external namespaces" + }, + "unique_project_download_limit": { + "type": "integer", + "format": "int32", + "description": "Maximum number of unique projects a user can download in the specified time period before they are banned." + }, + "unique_project_download_limit_interval_in_seconds": { + "type": "integer", + "format": "int32", + "description": "Time period during which a user can download a maximum amount of projects before they are banned." + }, + "unique_project_download_limit_allowlist": { + "type": "array", + "description": "List of usernames excluded from the unique project download limit", + "items": { + "type": "string" + } + }, + "unique_project_download_limit_alertlist": { + "type": "array", + "description": "List of user ids who will be emailed when Git abuse rate limit is exceeded", + "items": { + "type": "integer", + "format": "int32" + } + }, + "auto_ban_user_on_excessive_projects_download": { + "type": "boolean", + "description": "Ban users from the group when they exceed maximum number of unique projects download in the specified time period" + }, + "ip_restriction_ranges": { + "type": "string", + "description": "List of IP addresses which need to be restricted for group" + }, + "service_access_tokens_expiration_enforced": { + "type": "boolean", + "description": "To enforce token expiration for Service accounts users for group" + }, + "duo_features_enabled": { + "type": "boolean", + "description": "Indicates whether GitLab Duo features are enabled for the group" + }, + "lock_duo_features_enabled": { + "type": "boolean", + "description": "Indicates if the GitLab Duo features enabled setting is enforced for all subgroups" + } + }, + "description": "Update a group. Available only for users who can administrate groups." + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" } - }, - "a317": { - "61db": { - "type": "standard", - "state": "success" + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "5f3603cf-3d72-4884-82a0-d8a6e7fc11b0", + "created": "2026-08-12T20:06:02.886Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 4, + "reference": "84fa0f58-e0c8-4a00-8645-6f593c903ed9", + "type": "workflow", + "folder": "/Groups", + "document": { + "name": "Delete Group", + "description": "Delete Group", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 } }, - "335e": { - "af15": { - "type": "standard", - "state": "loop" + "a1a1": { + "name": "deleteApiV4GroupsId", + "canvasName": "deleteApiV4GroupsId", + "summary": "deleteApiV4GroupsId", + "description": "deleteApiV4GroupsId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] }, - "7bb1": { - "type": "standard", - "state": "success" + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 } }, - "9cf2": { - "335e": { - "type": "standard", - "state": "success" + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 } - }, - "61db": { - "83a6": { + } + }, + "transitions": { + "workflow_start": { + "a1a1": { "type": "standard", "state": "success" } }, - "afc5": { - "9cf2": { + "a1a1": { + "workflow_end": { "type": "standard", "state": "success" } }, - "83a6": {}, - "4dc0": { - "1253": { - "type": "standard", - "state": "success" - }, - "bbc7": { - "type": "standard", - "state": "error" - } - }, - "821c": { - "fe3d": { - "type": "standard", - "state": "success" - } - }, - "bbc7": { - "85f7": { - "type": "standard", - "state": "success" - } - }, - "85f7": { - "7b6c": { - "type": "standard", - "state": "success" + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" } }, - "7b6c": { - "ce40": { - "type": "standard", - "state": "success" + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "727a": { - "type": "standard", - "state": "failure" - } - }, - "ce40": { - "727a": { - "state": "success", - "type": "standard" - } - }, - "e40": { - "61cd": { - "type": "standard", - "state": "success" - } - }, - "1b29": { - "ceaf": { - "type": "standard", - "state": "success" - } - }, - "ceaf": { - "2e9": { - "type": "standard", - "state": "success" + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" } - }, - "5c9": { - "d1b1": { - "state": "success", - "type": "standard" + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "c419856e-1506-4459-999c-6ff08591093d", + "created": "2026-08-12T20:06:02.924Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 5, + "reference": "be01d6ec-226e-4f27-b5e3-dcf9f53289a0", + "type": "workflow", + "folder": "/Groups", + "document": { + "name": "List Group Projects", + "description": "List Group Projects", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 } }, - "2e9": { - "5c9": { - "type": "standard", - "state": "success" + "a1a1": { + "name": "getApiV4GroupsIdProjects", + "canvasName": "getApiV4GroupsIdProjects", + "summary": "getApiV4GroupsIdProjects", + "description": "getApiV4GroupsIdProjects", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] }, - "d1b1": { - "type": "standard", - "state": "failure" - } - }, - "7bb1": { - "fe04": { - "type": "standard", - "state": "success" + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 } }, - "fe04": { - "623d": { - "type": "standard", - "state": "success" + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 } - }, - "623d": { - "45d5": { + } + }, + "transitions": { + "workflow_start": { + "a1a1": { "type": "standard", "state": "success" - }, - "workflow_end": { - "type": "standard", - "state": "failure" } }, - "45d5": { + "a1a1": { "workflow_end": { "type": "standard", "state": "success" } }, - "fe3d": { - "4dc0": { - "type": "standard", - "state": "success" - } - }, - "727a": { - "d1b1": { - "state": "success", - "type": "standard" - } - }, - "d1b1": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "aec5": {} + "workflow_end": {} }, "inputSchema": { "type": "object", "properties": { - "projectId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "mergeRequestIid": { - "title": "value", - "type": [ - "string", - "number", - "integer", - "object", - "array", - "boolean" - ], - "examples": [ - { - "third": "last" - } - ] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "verbose": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "string" } }, - "required": ["projectId", "mergeRequestIid", "adapterId", "verbose"] + "required": [ + "id" + ] }, "outputSchema": { "type": "object", "properties": { - "projectId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "mergeRequestIid": { - "title": "value", - "type": [ - "string", - "number", - "integer", - "object", - "array", - "boolean" - ], - "examples": [ - { - "third": "last" - } - ] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "verbose": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "string" }, "_id": { "type": "string", @@ -3086,326 +1723,121 @@ }, "initiator": { "type": "string" - }, - "ReturnStatus": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "current_item": { - "title": "current_item", - "type": [ - "string", - "number", - "object", - "boolean", - "integer", - "array", - "null" - ], - "examples": ["some item from the data_array"] - }, - "result": { - "type": ["array", "boolean", "null", "number", "object", "string"] } } }, - "createdVersion": "5.44.64-2022.1.27.0", - "font_size": 12, - "lastUpdatedVersion": "5.55.2-2023.2.13", - "last_updated": "2025-01-23T20:44:00.336Z", - "preAutomationTime": 0, - "sla": 0, - "type": "automation", + "last_updated": "2026-08-12T20:10:34.338Z", "last_updated_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, - "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, + "lastUpdatedVersion": "4.69.69", + "uuid": "79d23943-7569-4c7c-ab16-29d822f7528b", + "created": "2026-08-12T20:06:02.975Z", "created_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, "tags": [], "groups": [], - "migrationVersion": 3 + "migrationVersion": 8 } }, { "iid": 6, - "reference": "bde0fcea-5286-4a42-91c5-8eff4d3d308f", + "reference": "23bfc688-a045-40e2-81b1-bb8d270cfce9", "type": "workflow", - "folder": "/", + "folder": "/Groups", "document": { - "name": "Get Branch", + "name": "List Subgroups", + "description": "List Subgroups", + "type": "automation", + "font_size": 12, "tasks": { - "2570": { - "name": "getV4ProjectsId", - "canvasName": "getV4ProjectsId", - "summary": "Get Project", - "description": "Get a single project using full path to repository", - "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", - "type": "automatic", - "displayName": "gitlab", - "variables": { - "incoming": { - "id": "$var.job.projectPath", - "adapter_id": "$var.job.adapterId" - }, - "outgoing": { - "result": "" - }, - "error": "$var.job.gitlabError" - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -2820, - "y": 96 - } - }, - "3866": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Branch Not Found?", - "description": "Branch Not Found?", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "response.message", - "operand_1": { - "variable": "gitlabError", - "task": "job" - }, - "operator": "==", - "operand_2": { - "variable": "404 Branch Not Found", - "task": "static" - } - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } - }, - "groups": [], - "nodeLocation": { - "x": -2532, - "y": 264 - } - }, "workflow_start": { "name": "workflow_start", "groups": [], - "summary": "workflow_start", - "description": "workflow_start", - "nodeLocation": { - "x": -2820, - "y": 12 - } - }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "summary": "workflow_end", - "description": "workflow_end", - "nodeLocation": { - "x": -2820, - "y": 360 - } - }, - "e31": { - "name": "query", - "canvasName": "query", - "summary": "Get Project ID", - "description": "Get Project ID from project response", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response.id", - "obj": "$var.2570.result" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, - "groups": [], - "scheduled": false, "nodeLocation": { - "x": -2820, - "y": 180 + "x": 264, + "y": 0 } }, - "ec4b": { - "name": "getV4ProjectsIdRepositoryBranchesBranch", - "canvasName": "getV4ProjectsIdRepositoryBranchesBranch", - "summary": "Get Branch", - "description": "Get Branch", + "a1a1": { + "name": "getApiV4GroupsIdSubgroups", + "canvasName": "getApiV4GroupsIdSubgroups", + "summary": "getApiV4GroupsIdSubgroups", + "description": "getApiV4GroupsIdSubgroups", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Gitlab", + "displayName": "GitLab", "variables": { "incoming": { - "id": "$var.e31.return_data", - "branch": "$var.job.branchName", - "adapter_id": "$var.job.adapterId" + "adapter_id": "GitLab", + "id": "$var.job.id" }, "outgoing": { - "result": "$var.job.gitLabBranch" + "response": null }, - "error": "$var.job.gitlabError", + "error": "", "decorators": [] }, "groups": [], "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -2820, - "y": 264 + "x": 264, + "y": 150 } }, - "4ad8": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "GitLab Error", - "description": "View GitLab Error details", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "GitLab Error", - "message": "", - "body": "$var.job.gitlabError", - "variables": {}, - "btn_success": "OK", - "btn_failure": "" - }, - "outgoing": {}, - "error": "", - "decorators": [] - }, - "view": "/workflow_engine/task/ViewData", + "workflow_end": { + "name": "workflow_end", "groups": [], - "scheduled": false, "nodeLocation": { - "x": -2244, - "y": 264 + "x": 264, + "y": 300 } } }, "transitions": { - "2570": { - "e31": { - "state": "success", - "type": "standard" - }, - "4ad8": { - "type": "standard", - "state": "error" - } - }, - "3866": { - "4ad8": { - "type": "standard", - "state": "failure" - }, - "workflow_end": { - "type": "standard", - "state": "success" - } - }, - "8866": {}, "workflow_start": { - "2570": { - "state": "success", - "type": "standard" - } - }, - "workflow_end": {}, - "e31": { - "ec4b": { - "type": "standard", - "state": "success" - } - }, - "ec4b": { - "3866": { - "type": "standard", - "state": "error" - }, - "workflow_end": { + "a1a1": { "type": "standard", "state": "success" } }, - "4ad8": { + "a1a1": { "workflow_end": { "type": "standard", "state": "success" } }, - "869e": {}, - "e2cb": {} + "workflow_end": {} }, "inputSchema": { "type": "object", "properties": { - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "branchName": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "string" } }, - "required": ["projectPath", "adapterId", "branchName"] + "required": [ + "id" + ] }, "outputSchema": { "type": "object", "properties": { - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "branchName": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "string" }, "_id": { "type": "string", @@ -3413,80 +1845,69 @@ }, "initiator": { "type": "string" - }, - "gitlabError": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "gitLabBranch": { - "type": ["array", "boolean", "null", "number", "object", "string"] } } }, - "decorators": [], - "createdVersion": "5.40.5-2021.1.52.0", - "font_size": 12, - "lastUpdatedVersion": "5.55.2-2023.2.13", - "last_updated": "2025-01-23T20:44:00.336Z", - "preAutomationTime": 0, - "sla": 0, - "type": "automation", + "last_updated": "2026-08-12T20:10:34.338Z", "last_updated_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, - "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, + "lastUpdatedVersion": "4.69.69", + "uuid": "b35b305b-7a05-46be-ac67-df10ee4cb94a", + "created": "2026-08-12T20:06:03.038Z", "created_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, "tags": [], "groups": [], - "migrationVersion": 3 + "migrationVersion": 8 } }, { "iid": 7, - "reference": "3942d54e-4c9b-4fce-bb77-1ea39ccf8570", + "reference": "6f9d2b24-0596-4c69-8db1-3e902fde059f", "type": "workflow", - "folder": "/Create Templated Project", + "folder": "/Members", "document": { - "name": "Create Templated Project", - "description": "Creates a new GitLab project if it doesn't exists, using a custom template", + "name": "List Group Members", + "description": "List Group Members", + "type": "automation", + "font_size": 12, "tasks": { - "703": { - "name": "getV4GroupsIdProjects", - "canvasName": "getV4GroupsIdProjects", - "summary": "List Projects", - "description": "Get a list of projects in this group.", + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4GroupsIdMembers", + "canvasName": "getApiV4GroupsIdMembers", + "summary": "getApiV4GroupsIdMembers", + "description": "getApiV4GroupsIdMembers", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Gitlab", + "displayName": "GitLab", "variables": { "incoming": { - "id": "$var.job.group_id", - "archived": false, - "visibility": "", - "search": "$var.job.new_project_name", - "orderBy": "", - "sort": "", - "simple": true, - "page": "", - "perPage": "", - "adapter_id": "$var.job.adapterId" + "adapter_id": "GitLab", + "id": "$var.job.id" }, "outgoing": { - "result": null + "response": null }, "error": "", "decorators": [] @@ -3495,168 +1916,122 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -1248, - "y": -708 + "x": 264, + "y": 150 } }, - "1941": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Success ReturnStatus", - "description": "Create a new Job variable with success result on creating new project", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": "$var.f700.ReturnStatus" - }, - "outgoing": { - "value": null - } - }, + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": -1248, - "y": -120 + "x": 264, + "y": 300 } - }, - "8215": { - "name": "modify", - "canvasName": "modify", - "summary": "Set Template Name", - "description": "Modify the formData templateName to have the new template name chosen from the Json form.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "object_to_update": "$var.job.template_name", - "query": "", - "new_value": "$var.bf60.return_data" - }, - "outgoing": { - "updated_object": "$var.job.templateName" - }, - "error": "", - "decorators": [] - }, - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": 144, - "y": -876 + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "9781": { - "name": "merge", - "canvasName": "merge", - "summary": "Create New Project Body", - "description": "Create new project request body", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "data_to_merge": [ - { - "key": "name", - "value": { - "task": "job", - "variable": "new_project_name", - "editable": true - } - }, - { - "key": "description", - "value": { - "task": "job", - "variable": "project_description", - "editable": true - } - }, - { - "key": "namespace_id", - "value": { - "task": "job", - "variable": "group_id", - "editable": true - } - }, - { - "key": "use_custom_template", - "value": { - "task": "static", - "variable": true - } - }, - { - "key": "group_with_project_templates_id", - "value": { - "task": "job", - "variable": "template_group_id" - } - }, - { - "key": "template_name", - "value": { - "task": "job", - "variable": "template_name", - "editable": true - } - } - ] - }, - "outgoing": { - "merged_object": null - } - }, - "groups": [], - "nodeLocation": { - "x": -1248, - "y": -792 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "workflow_start": { - "name": "workflow_start", - "groups": [], - "nodeLocation": { - "x": -1248, - "y": -1464 + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" } }, - "workflow_end": { - "name": "workflow_end", + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "77be0f60-98a7-4e0c-af3d-45a2e651b838", + "created": "2026-08-12T20:06:03.104Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 8, + "reference": "bd076f0a-f981-4ab2-a696-584256d5479a", + "type": "workflow", + "folder": "/Members", + "document": { + "name": "Create Group Member", + "description": "Create Group Member", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": -936, - "y": 132 + "x": 264, + "y": 0 } }, - "bc17": { - "name": "postV4Projects", - "canvasName": "postV4Projects", - "summary": "Create New Project", - "description": "Create new project in Gitlab", + "a1a1": { + "name": "postApiV4GroupsIdMembers", + "canvasName": "postApiV4GroupsIdMembers", + "summary": "postApiV4GroupsIdMembers", + "description": "postApiV4GroupsIdMembers", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Gitlab", + "displayName": "GitLab", "variables": { "incoming": { - "body": "$var.9781.merged_object", - "adapter_id": "$var.job.adapterId" + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" }, "outgoing": { - "result": null + "response": null }, "error": "", "decorators": [] @@ -3665,171 +2040,188 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -1248, - "y": -372 + "x": 264, + "y": 150 } }, - "117b": { - "name": "query", - "canvasName": "query", - "summary": "Get Project ID", - "description": "Get project id for ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response.id", - "obj": "$var.bc17.result" - }, - "outgoing": { - "return_data": "$var.job.projectId" - }, - "error": "", - "decorators": [] - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "scheduled": false, "nodeLocation": { - "x": -1248, - "y": -288 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "70f0": { - "name": "RenderJsonSchema", - "canvasName": "RenderJsonSchema", - "summary": "Show Template Options", - "description": "Render JSON Schema to let the user choose from the available templates.", - "location": "Application", - "app": "JsonForms", - "displayName": "JsonForms", - "type": "manual", - "variables": { - "incoming": { - "jsonSchema": "$var.e92e.object", - "uiSchema": { - "chooseOneOfTheseAvailableTemplates": { - "ui:placeholder": "Choose one of these available templates" - } - }, - "bindingSchema": {}, - "validationSchema": {}, - "formData": {} - }, - "outgoing": { - "export": null - }, - "error": "", - "decorators": [] - }, - "view": "/json-forms/task/RenderJsonSchema", - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": -420, - "y": -876 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "e92e": { - "name": "setObjectKey", - "canvasName": "setObjectKey", - "summary": "Add Template List", - "description": "Replace the static templates in the json form with the actual available array of templates", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Object", - "variables": { - "incoming": { - "obj": "$var.eb45.value", - "path": [ - "properties", - "chooseOneOfTheseAvailableTemplates", - "enum" - ], - "value": "$var.75f.return_data" - }, - "outgoing": { - "object": null - }, - "error": "", - "decorators": [] + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "groups": [], - "actor": "Pronghorn", - "scheduled": false, - "nodeLocation": { - "x": -696, - "y": -876 + "spec": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level (defaults: `30`, developer access level)" + }, + "user_id": { + "type": "integer", + "format": "int32", + "description": "The user ID of the new member or multiple IDs separated by commas." + }, + "username": { + "type": "string", + "description": "The username of the new member or multiple usernames separated by commas." + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Date string in the format YEAR-MONTH-DAY" + }, + "invite_source": { + "type": "string", + "description": "Source that triggered the member creation process", + "default": "members-api" + } + }, + "required": [ + "access_level" + ], + "description": "Adds a member to a group or project." } }, - "eb45": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Create Form Data", - "description": "Create form data object for template choice", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "JSONform", - "value": { - "title": "Gitlab Available Project Templates", - "description": "", - "type": "object", - "required": ["chooseOneOfTheseAvailableTemplates"], - "properties": { - "chooseOneOfTheseAvailableTemplates": { - "type": "string", - "title": "Choose one of these available templates", - "description": "", - "enum": ["Template one"] - } - } + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level (defaults: `30`, developer access level)" + }, + "user_id": { + "type": "integer", + "format": "int32", + "description": "The user ID of the new member or multiple IDs separated by commas." + }, + "username": { + "type": "string", + "description": "The username of the new member or multiple usernames separated by commas." + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Date string in the format YEAR-MONTH-DAY" + }, + "invite_source": { + "type": "string", + "description": "Source that triggered the member creation process", + "default": "members-api" } }, - "outgoing": { - "value": null - } + "required": [ + "access_level" + ], + "description": "Adds a member to a group or project." + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "77f5f705-b889-4c9a-8f35-37d754cdaee2", + "created": "2026-08-12T20:06:03.137Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 9, + "reference": "b0550bbc-e1cd-4829-942b-ea02a19d6308", + "type": "workflow", + "folder": "/Members", + "document": { + "name": "Get Group Member", + "description": "Get Group Member", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": -972, - "y": -876 + "x": 264, + "y": 0 } }, - "52cb": { - "name": "getV4GroupsIdProjects", - "canvasName": "getV4GroupsIdProjects", - "summary": "Get Templates", - "description": "Get a list of available templates in the template group Id", + "a1a1": { + "name": "getApiV4GroupsIdMembersUserId", + "canvasName": "getApiV4GroupsIdMembersUserId", + "summary": "getApiV4GroupsIdMembersUserId", + "description": "getApiV4GroupsIdMembersUserId", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Gitlab", + "displayName": "GitLab", "variables": { "incoming": { - "id": "$var.job.template_group_id", - "archived": false, - "visibility": "", - "search": "", - "orderBy": "name", - "sort": "asc", - "simple": true, - "page": "", - "perPage": "", - "adapter_id": "$var.job.adapterId" + "adapter_id": "GitLab", + "id": "$var.job.id", + "user_id": "$var.job.user_id" }, "outgoing": { - "result": null + "response": null }, "error": "", "decorators": [] @@ -3838,428 +2230,444 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -1248, - "y": -1128 + "x": 264, + "y": 150 } }, - "75f": { - "name": "query", - "canvasName": "query", - "summary": "Query Template Names", - "description": "Query a list of available templates names from the template group.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response.name", - "obj": "$var.52cb.result" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "scheduled": false, "nodeLocation": { - "x": -1248, - "y": -1044 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "e55b": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Template Exists?", - "description": "Eval if the template is a part of available templates.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "index", - "task": "bf70" - }, - "operator": ">=", - "operand_2": { - "variable": 0, - "task": "static" - } - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } - }, - "groups": [], - "nodeLocation": { - "x": -1248, - "y": -876 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "bf60": { - "name": "query", - "canvasName": "query", - "summary": "Query Template Choice", - "description": "Query the chosen template from the json form", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "chooseOneOfTheseAvailableTemplates", - "obj": "$var.70f0.export" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": -144, - "y": -876 + "user_id": { + "type": "integer", + "format": "int32" } }, - "bf70": { - "name": "arrayIndexOf", - "canvasName": "indexOf", - "summary": "Get Template Index", - "description": "Find the index of the provided template name in the array of available templates. \nCheck if the template provided exists. return -1 if there are no matches.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Array", - "variables": { - "incoming": { - "arr": "$var.75f.return_data", - "searchElement": "$var.job.template_name", - "fromIndex": "" - }, - "outgoing": { - "index": null - }, - "error": "", - "decorators": [] + "required": [ + "id", + "user_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "user_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "4a3755e4-6cdf-40a9-8945-6648bb9e12ef", + "created": "2026-08-12T20:06:03.172Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 10, + "reference": "d9933bf5-d7c5-4e8a-8038-0ea4eeb39b71", + "type": "workflow", + "folder": "/Members", + "document": { + "name": "Update Group Member", + "description": "Update Group Member", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], - "actor": "Pronghorn", - "scheduled": false, "nodeLocation": { - "x": -1248, - "y": -960 + "x": 264, + "y": 0 } }, - "52e3": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Format Error ReturnStatus", - "description": "Create Error ReturnStatus - GitLab", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", + "a1a1": { + "name": "putApiV4GroupsIdMembersUserId", + "canvasName": "putApiV4GroupsIdMembersUserId", + "summary": "putApiV4GroupsIdMembersUserId", + "description": "putApiV4GroupsIdMembersUserId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", "variables": { "incoming": { - "tr_id": "6436be7b5c18656ff16ca023", - "variableMap": { - "taskName": "get_list_of_templates", - "response": "$var.52cb.error", - "message": "Get list of templates task failed.", - "ReturnStatus": "$var.job.ReturnStatus" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } + "adapter_id": "GitLab", + "id": "$var.job.id", + "user_id": "$var.job.user_id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" }, "outgoing": { - "ReturnStatus": null + "response": null }, + "error": "", "decorators": [] }, "groups": [], - "task_name": "Create Error ReturnStatus - GitLab", - "retrySettings": null, + "actor": "Pronghorn", + "scheduled": false, "nodeLocation": { - "x": -960, - "y": -1116 + "x": 264, + "y": 150 } }, - "cbdf": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Error ReturnStatus", - "description": "Job variable to hold error results", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": "$var.52e3.ReturnStatus" - }, - "outgoing": { - "value": null - } - }, + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": -684, - "y": -1116 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "801a": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Create Error ReturnStatus - GitLab", - "description": "Format Error ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "6436be7b5c18656ff16ca023", - "variableMap": { - "taskName": "create_new_project", - "response": "$var.bc17.error", - "message": "Create New Project failed", - "ReturnStatus": "$var.job.ReturnStatus" + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "user_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level" }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Date string in the format YEAR-MONTH-DAY" + }, + "member_role_id": { + "type": "integer", + "format": "int32", + "description": "The ID of the Member Role to be updated" } }, - "outgoing": { - "ReturnStatus": null - }, - "decorators": [] - }, - "groups": [], - "task_name": "Create Error ReturnStatus - GitLab", - "retrySettings": null, - "nodeLocation": { - "x": -960, - "y": -360 + "required": [ + "access_level" + ], + "description": "Updates a member of a group or project." } }, - "7e8d": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Error ReturnStatus", - "description": "Create variable for error status on project creation", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": "$var.801a.ReturnStatus" + "required": [ + "id", + "user_id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "user_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level" + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Date string in the format YEAR-MONTH-DAY" + }, + "member_role_id": { + "type": "integer", + "format": "int32", + "description": "The ID of the Member Role to be updated" + } }, - "outgoing": { - "value": null - } + "required": [ + "access_level" + ], + "description": "Updates a member of a group or project." + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "6adc9928-63ef-4a82-a999-19e55cfe9511", + "created": "2026-08-12T20:06:03.205Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 11, + "reference": "d577a61a-2494-4929-bdfe-4eec4a684888", + "type": "workflow", + "folder": "/Members", + "document": { + "name": "Delete Group Member", + "description": "Delete Group Member", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": -672, - "y": -360 + "x": 264, + "y": 0 } }, - "f700": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Format Success ReturnStatus", - "description": "Create Success ReturnStatus - GitLab", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", + "a1a1": { + "name": "deleteApiV4GroupsIdMembersUserId", + "canvasName": "deleteApiV4GroupsIdMembersUserId", + "summary": "deleteApiV4GroupsIdMembersUserId", + "description": "deleteApiV4GroupsIdMembersUserId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", "variables": { "incoming": { - "tr_id": "6436bede5c18656ff16ca024", - "variableMap": { - "taskName": "create_new_project", - "response": "$var.bc17.result", - "message": "Project Created Successfully", - "ReturnStatus": "$var.job.ReturnStatus" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } + "adapter_id": "GitLab", + "id": "$var.job.id", + "user_id": "$var.job.user_id" }, "outgoing": { - "ReturnStatus": null + "response": null }, + "error": "", "decorators": [] }, "groups": [], - "task_name": "Create Success ReturnStatus - GitLab", - "retrySettings": null, + "actor": "Pronghorn", + "scheduled": false, "nodeLocation": { - "x": -1248, - "y": -204 + "x": 264, + "y": 150 } }, - "7dc4": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Zero Touch Option", - "description": "Zero Touch Option", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "verbose", - "task": "job", - "editable": true - }, - "operator": "==", - "operand_2": { - "variable": true, - "task": "static" - }, - "rightQuery": "" - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } - }, + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": -408, - "y": -1116 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "12b9": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "View Data for Error", - "description": "View Data for Error", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "Error", - "message": "Error fetching list of templates. ", - "body": "", - "variables": "", - "btn_success": "Exit", - "btn_failure": "" - }, - "outgoing": {}, - "error": "", - "decorators": [] + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "view": "/workflow_engine/task/ViewData", - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": -408, - "y": -1032 + "user_id": { + "type": "integer", + "format": "int32" } }, - "1d95": { - "name": "setObjectKey", - "canvasName": "setObjectKey", - "summary": "Set Project Id", - "description": "Set Project Id on ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Object", - "variables": { - "incoming": { - "obj": "$var.job.ReturnStatus", - "path": ["project_id"], - "value": "$var.117b.return_data" - }, - "outgoing": { - "object": "$var.job.ReturnStatus" - }, - "error": "", - "decorators": [] + "required": [ + "id", + "user_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, + "user_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "dcd39b49-e4c7-4f8a-a5b4-3e6a0f224407", + "created": "2026-08-12T20:06:03.238Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 12, + "reference": "11ee6233-7765-4cc6-915a-691f33b0de45", + "type": "workflow", + "folder": "/Members", + "document": { + "name": "List Project Members", + "description": "List Project Members", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], - "actor": "Pronghorn", - "scheduled": false, "nodeLocation": { - "x": -936, - "y": 24 + "x": 264, + "y": 0 } }, - "f686": { - "name": "setObjectKey", - "canvasName": "setObjectKey", - "summary": "Set Group ID", - "description": "Set Group ID on ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", + "a1a1": { + "name": "getApiV4ProjectsIdMembers", + "canvasName": "getApiV4ProjectsIdMembers", + "summary": "getApiV4ProjectsIdMembers", + "description": "getApiV4ProjectsIdMembers", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Object", + "displayName": "GitLab", "variables": { "incoming": { - "obj": "$var.job.ReturnStatus", - "path": ["group_id"], - "value": "$var.job.group_id" + "adapter_id": "GitLab", + "id": "$var.job.id" }, "outgoing": { - "object": "$var.job.ReturnStatus" + "response": null }, "error": "", "decorators": [] @@ -4268,265 +2676,122 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -1248, - "y": -1296 + "x": 264, + "y": 150 } }, - "36df": { - "name": "setObjectKey", - "canvasName": "setObjectKey", - "summary": "Set Template Id", - "description": "Set Template Id on ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Object", - "variables": { - "incoming": { - "obj": "$var.job.ReturnStatus", - "path": ["template_id"], - "value": "$var.job.template_group_id" - }, - "outgoing": { - "object": "$var.job.ReturnStatus" - }, - "error": "", - "decorators": [] - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "actor": "Pronghorn", - "scheduled": false, "nodeLocation": { - "x": -1248, - "y": -1212 + "x": 264, + "y": 300 } - }, - "d488": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Result Data", - "description": "Create job variable to hold results of workflow.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": { - "status": "", - "message": "", - "errors": [], - "response": {} - } - }, - "outgoing": { - "value": null - } - }, - "groups": [], - "nodeLocation": { - "x": -1248, - "y": -1380 + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "20c0": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Zero Touch Option", - "description": "Zero Touch Option", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "verbose", - "task": "job", - "editable": true - }, - "operator": "==", - "operand_2": { - "variable": true, - "task": "static" - }, - "rightQuery": "" - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } - }, - "groups": [], - "nodeLocation": { - "x": -384, - "y": -360 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "ba62": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "View Data for Error", - "description": "View Data for Error", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "Error", - "message": "Error creating new project ", - "body": "", - "variables": "", - "btn_success": "Exit", - "btn_failure": "" - }, - "outgoing": {}, - "error": "", - "decorators": [] - }, - "view": "/workflow_engine/task/ViewData", - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": -384, - "y": -276 + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" } }, - "4dff": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Zero Touch Option", - "description": "Zero Touch Option", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "verbose", - "task": "job", - "editable": true - }, - "operator": "==", - "operand_2": { - "variable": true, - "task": "static" - }, - "rightQuery": "" - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "groups": [], - "nodeLocation": { - "x": -1236, - "y": -36 - } - }, - "e49b": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "View Data for Success", - "description": "View Data for Success", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "Success", - "message": "Create Project Successful", - "body": "", - "variables": "", - "btn_success": "Exit", - "btn_failure": "" - }, - "outgoing": {}, - "error": "", - "decorators": [] + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, - "view": "/workflow_engine/task/ViewData", - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": -1236, - "y": 48 + "initiator": { + "type": "string" } - }, - "197f": { - "name": "query", - "canvasName": "query", - "summary": "Get Response", - "description": "Get Response from get projects call", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response", - "obj": "$var.703.result" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "27a5f92f-684e-43c9-bf46-fafa9fc214a3", + "created": "2026-08-12T20:06:03.264Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 13, + "reference": "1d4552d0-9b87-42c0-b533-2f389a1089fe", + "type": "workflow", + "folder": "/Members", + "document": { + "name": "Create Project Member", + "description": "Create Project Member", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], - "scheduled": false, "nodeLocation": { - "x": -1248, - "y": -624 + "x": 264, + "y": 0 } }, - "205d": { - "name": "arrayLength", - "canvasName": "length", - "summary": "Project List Length", - "description": "Get Project List Length", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", + "a1a1": { + "name": "postApiV4ProjectsIdMembers", + "canvasName": "postApiV4ProjectsIdMembers", + "summary": "postApiV4ProjectsIdMembers", + "description": "postApiV4ProjectsIdMembers", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Array", + "displayName": "GitLab", "variables": { "incoming": { - "arr": "$var.197f.return_data" + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" }, "outgoing": { - "length": null + "response": null }, "error": "", "decorators": [] @@ -4535,239 +2800,188 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -1248, - "y": -540 + "x": 264, + "y": 150 } }, - "255d": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Project Exists?", - "description": "Check if project exists", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "length", - "task": "205d" - }, - "operator": "==", - "operand_2": { - "variable": 0, - "task": "static" - }, - "rightQuery": "" - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } - }, + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": -1248, - "y": -456 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "f8c6": { - "name": "query", - "canvasName": "query", - "summary": "Get Existing Project ID", - "description": "Get Existing Project ID", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "[0].id", - "obj": "$var.197f.return_data" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": -960, - "y": -456 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "627a": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Format Success ReturnStatus", - "description": "Create Success ReturnStatus - GitLab", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "6436bede5c18656ff16ca024", - "variableMap": { - "taskName": "get_list_projects_in_group", - "response": "$var.703.result", - "message": "Project already exists", - "ReturnStatus": "$var.job.ReturnStatus" + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level (defaults: `30`, developer access level)" }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true + "user_id": { + "type": "integer", + "format": "int32", + "description": "The user ID of the new member or multiple IDs separated by commas." + }, + "username": { + "type": "string", + "description": "The username of the new member or multiple usernames separated by commas." + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Date string in the format YEAR-MONTH-DAY" + }, + "invite_source": { + "type": "string", + "description": "Source that triggered the member creation process", + "default": "members-api" } }, - "outgoing": { - "ReturnStatus": null - }, - "decorators": [] - }, - "groups": [], - "task_name": "Create Success ReturnStatus - GitLab", - "retrySettings": null, - "nodeLocation": { - "x": -672, - "y": -456 + "required": [ + "access_level" + ], + "description": "Adds a member to a group or project." } }, - "502d": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Success ReturnStatus", - "description": "Create a new Job variable for success response (project already exists).", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": "$var.627a.ReturnStatus" - }, - "outgoing": { - "value": null - } + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "groups": [], - "nodeLocation": { - "x": -396, - "y": -456 - } - }, - "f416": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Zero Touch Option", - "description": "Zero Touch Option", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "verbose", - "task": "job", - "editable": true - }, - "operator": "==", - "operand_2": { - "variable": true, - "task": "static" - }, - "rightQuery": "" - } - ] - } - ] + "spec": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level (defaults: `30`, developer access level)" + }, + "user_id": { + "type": "integer", + "format": "int32", + "description": "The user ID of the new member or multiple IDs separated by commas." + }, + "username": { + "type": "string", + "description": "The username of the new member or multiple usernames separated by commas." + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Date string in the format YEAR-MONTH-DAY" + }, + "invite_source": { + "type": "string", + "description": "Source that triggered the member creation process", + "default": "members-api" + } }, - "outgoing": { - "return_value": null - } + "required": [ + "access_level" + ], + "description": "Adds a member to a group or project." }, - "groups": [], - "nodeLocation": { - "x": -108, - "y": -456 - } - }, - "9b40": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "View Data for Success", - "description": "View Data for Success", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "Success", - "message": "Project already exists", - "body": "", - "variables": "", - "btn_success": "Exit", - "btn_failure": "" - }, - "outgoing": {}, - "error": "", - "decorators": [] + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, - "view": "/workflow_engine/task/ViewData", + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "afb434cc-370f-40dd-9bee-fed54fafe8d1", + "created": "2026-08-12T20:06:03.294Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 14, + "reference": "ff7e6f11-669b-4035-b836-3865f2136857", + "type": "workflow", + "folder": "/Members", + "document": { + "name": "Get Project Member", + "description": "Get Project Member", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], - "scheduled": false, "nodeLocation": { - "x": -108, - "y": -360 + "x": 264, + "y": 0 } }, - "19da": { - "name": "setObjectKey", - "canvasName": "setObjectKey", - "summary": "Set Project Id on ReturnStatus", - "description": "Set Project Id on ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", + "a1a1": { + "name": "getApiV4ProjectsIdMembersUserId", + "canvasName": "getApiV4ProjectsIdMembersUserId", + "summary": "getApiV4ProjectsIdMembersUserId", + "description": "getApiV4ProjectsIdMembersUserId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Object", + "displayName": "GitLab", "variables": { "incoming": { - "obj": "$var.job.ReturnStatus", - "path": ["project_id"], - "value": "$var.f8c6.return_data" + "adapter_id": "GitLab", + "id": "$var.job.id", + "user_id": "$var.job.user_id" }, "outgoing": { - "object": "$var.job.ReturnStatus" + "response": null }, "error": "", "decorators": [] @@ -4776,486 +2990,59 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": 168, - "y": -432 - } - }, - "8cb5": { - "name": "stub", - "canvasName": "stub", - "summary": "Error Path", - "description": "Stub to clean up error path", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Tools", - "variables": { - "incoming": { - "type": "success", - "delay": "", - "response": "" - }, - "outgoing": { - "response": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -108, - "y": -1080 + "x": 264, + "y": 150 } }, - "5bdc": { - "name": "stub", - "canvasName": "stub", - "summary": "Error Path", - "description": "Stub to clean up error path", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Tools", - "variables": { - "incoming": { - "type": "success", - "delay": "", - "response": "" - }, - "outgoing": { - "response": "" - } - }, - "actor": "Pronghorn", + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": -108, - "y": 132 + "x": 264, + "y": 300 } } }, "transitions": { - "703": { - "197f": { + "workflow_start": { + "a1a1": { "type": "standard", "state": "success" } }, - "1941": { - "4dff": { - "type": "standard", - "state": "success" - } - }, - "8215": { - "9781": { - "type": "standard", - "state": "success" - } - }, - "9781": { - "703": { - "type": "standard", - "state": "success" - } - }, - "workflow_start": { - "d488": { - "type": "standard", - "state": "success" - } - }, - "workflow_end": {}, - "bc17": { - "117b": { - "type": "standard", - "state": "success" - }, - "801a": { - "type": "standard", - "state": "error" - } - }, - "117b": { - "f700": { - "type": "standard", - "state": "success" - } - }, - "70f0": { - "bf60": { - "type": "standard", - "state": "success" - } - }, - "e92e": { - "70f0": { - "type": "standard", - "state": "success" - } - }, - "eb45": { - "e92e": { - "type": "standard", - "state": "success" - } - }, - "52cb": { - "75f": { - "type": "standard", - "state": "success" - }, - "52e3": { - "type": "standard", - "state": "error" - } - }, - "75f": { - "bf70": { - "type": "standard", - "state": "success" - } - }, - "e55b": { - "9781": { - "type": "standard", - "state": "success" - }, - "eb45": { - "type": "standard", - "state": "failure" - } - }, - "bf60": { - "8215": { - "type": "standard", - "state": "success" - } - }, - "bf70": { - "e55b": { - "type": "standard", - "state": "success" - } - }, - "52e3": { - "cbdf": { - "type": "standard", - "state": "success" - } - }, - "cbdf": { - "7dc4": { - "type": "standard", - "state": "success" - } - }, - "801a": { - "7e8d": { - "type": "standard", - "state": "success" - } - }, - "7e8d": { - "20c0": { - "type": "standard", - "state": "success" - } - }, - "f700": { - "1941": { - "type": "standard", - "state": "success" - } - }, - "7dc4": { - "12b9": { - "type": "standard", - "state": "success" - }, - "8cb5": { - "type": "standard", - "state": "failure" - } - }, - "12b9": { - "8cb5": { - "state": "success", - "type": "standard" - } - }, - "1d95": { - "workflow_end": { - "type": "standard", - "state": "success" - } - }, - "f686": { - "36df": { - "type": "standard", - "state": "success" - } - }, - "36df": { - "52cb": { - "type": "standard", - "state": "success" - } - }, - "d488": { - "f686": { - "type": "standard", - "state": "success" - } - }, - "20c0": { - "ba62": { - "type": "standard", - "state": "success" - }, - "workflow_end": { - "type": "standard", - "state": "failure" - } - }, - "ba62": { - "workflow_end": { - "type": "standard", - "state": "success" - } - }, - "4dff": { - "e49b": { - "type": "standard", - "state": "success" - }, - "1d95": { - "type": "standard", - "state": "failure" - } - }, - "e49b": { - "1d95": { - "type": "standard", - "state": "success" - } - }, - "197f": { - "205d": { - "type": "standard", - "state": "success" - } - }, - "205d": { - "255d": { - "type": "standard", - "state": "success" - } - }, - "255d": { - "bc17": { - "type": "standard", - "state": "success" - }, - "f8c6": { - "type": "standard", - "state": "failure" - } - }, - "f8c6": { - "627a": { - "type": "standard", - "state": "success" - } - }, - "627a": { - "502d": { - "type": "standard", - "state": "success" - } - }, - "502d": { - "f416": { - "type": "standard", - "state": "success" - } - }, - "f416": { - "9b40": { - "type": "standard", - "state": "success" - }, - "19da": { - "type": "standard", - "state": "failure" - } - }, - "9b40": { - "19da": { - "type": "standard", - "state": "success" - } - }, - "19da": { + "a1a1": { "workflow_end": { "type": "standard", "state": "success" } }, - "8cb5": { - "5bdc": { - "state": "success", - "type": "standard" - } - }, - "5bdc": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "7bed": {}, - "c113": {}, - "c83": {}, - "1e45": {}, - "852f": {}, - "591b": {}, - "74bb": {}, - "d7b3": {}, - "1dbd": {}, - "61a5": {}, - "206e": {}, - "f359": {} + "workflow_end": {} }, "inputSchema": { "type": "object", "properties": { - "group_id": { - "title": "value", - "type": [ - "string", - "number", - "integer", - "object", - "array", - "boolean" - ], - "examples": [ - { - "third": "last" - } - ] - }, - "new_project_name": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "template_name": { - "title": "object_to_update", - "type": [ - "string", - "object", - "array", - "integer", - "number", - "boolean" - ], - "examples": ["item to update"] - }, - "project_description": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "template_group_id": { - "title": "value", - "type": [ - "string", - "number", - "integer", - "object", - "array", - "boolean" - ], - "examples": [ - { - "third": "last" - } - ] + "id": { + "type": "string" }, - "verbose": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "user_id": { + "type": "integer", + "format": "int32" } }, "required": [ - "group_id", - "new_project_name", - "adapterId", - "template_name", - "project_description", - "template_group_id", - "verbose" + "id", + "user_id" ] }, "outputSchema": { "type": "object", "properties": { - "group_id": { - "title": "value", - "type": [ - "string", - "number", - "integer", - "object", - "array", - "boolean" - ], - "examples": [ - { - "third": "last" - } - ] - }, - "new_project_name": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "template_name": { - "title": "object_to_update", - "type": [ - "string", - "object", - "array", - "integer", - "number", - "boolean" - ], - "examples": ["item to update"] - }, - "project_description": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "template_group_id": { - "title": "value", - "type": [ - "string", - "number", - "integer", - "object", - "array", - "boolean" - ], - "examples": [ - { - "third": "last" - } - ] + "id": { + "type": "string" }, - "verbose": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "user_id": { + "type": "integer", + "format": "int32" }, "_id": { "type": "string", @@ -5263,657 +3050,381 @@ }, "initiator": { "type": "string" - }, - "ReturnStatus": { - "title": "object", - "type": "object", - "properties": {}, - "examples": [ - { - "first": { - "second": { - "third": "last" - } - } - } - ] - }, - "templateName": { - "title": "updated_object", - "type": [ - "array", - "string", - "boolean", - "integer", - "number", - "object" - ], - "examples": ["updated item"] - }, - "projectId": { - "title": "return_data", - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "array" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "examples": ["value"] - }, - "JSONform": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "type": { - "type": "string" - }, - "required": { - "type": "array", - "items": { - "type": "string" - } - }, - "properties": { - "type": "object", - "properties": { - "chooseOneOfTheseAvailableTemplates": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "enum": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - } - } } } }, - "createdVersion": "5.44.64-2022.1.25.0", - "font_size": 12, - "lastUpdatedVersion": "5.55.2-2023.2.13", - "last_updated": "2025-01-23T20:44:00.343Z", - "preAutomationTime": 0, - "sla": 0, - "type": "automation", + "last_updated": "2026-08-12T20:10:34.338Z", "last_updated_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, - "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, + "lastUpdatedVersion": "4.69.69", + "uuid": "0ded8efa-eb16-4d27-9c4c-decbf9e08c92", + "created": "2026-08-12T20:06:03.323Z", "created_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, "tags": [], "groups": [], - "migrationVersion": 3 + "migrationVersion": 8 } }, { - "iid": 8, - "reference": "8d063cab-a42a-4d1f-a518-e67ee4d55d95", + "iid": 15, + "reference": "45dcaa50-d297-478b-a017-5de54b3d29ad", "type": "workflow", - "folder": "/", + "folder": "/Members", "document": { - "name": "Get File", + "name": "Update Project Member", + "description": "Update Project Member", + "type": "automation", + "font_size": 12, "tasks": { - "193": { - "name": "makeData", - "summary": "Make Data File Path", - "description": "Make Data File with path", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "automatic", - "variables": { - "incoming": { - "input": "/", - "outputType": "string", - "variables": "$var.ef6e.merged_object" - }, - "outgoing": { - "output": "$var.job.fullPath" - }, - "error": "" - }, - "groups": [], - "actor": "Pronghorn", - "scheduled": false, - "canvasName": "makeData", - "nodeLocation": { - "x": -276, - "y": -276 - } - }, - "650": { - "name": "evaluation", - "summary": "Eval Error Code", - "description": "Eval Error == -2", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "return_data", - "task": "8866" - }, - "operator": "==", - "operand_2": { - "variable": -2, - "task": "static" - } - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } - }, + "workflow_start": { + "name": "workflow_start", "groups": [], - "canvasName": "evaluation", "nodeLocation": { - "x": 300, - "y": -192 + "x": 264, + "y": 0 } }, - "855": { - "name": "stringLength", - "summary": "FilePath Length", - "description": "Gets the length filePath string", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "String", + "a1a1": { + "name": "putApiV4ProjectsIdMembersUserId", + "canvasName": "putApiV4ProjectsIdMembersUserId", + "summary": "putApiV4ProjectsIdMembersUserId", + "description": "putApiV4ProjectsIdMembersUserId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", + "displayName": "GitLab", "variables": { "incoming": { - "str": "$var.job.filePath" + "adapter_id": "GitLab", + "id": "$var.job.id", + "user_id": "$var.job.user_id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" }, "outgoing": { - "length": null + "response": null }, - "error": "" + "error": "", + "decorators": [] }, "groups": [], "actor": "Pronghorn", "scheduled": false, - "canvasName": "length", "nodeLocation": { - "x": -276, - "y": -444 + "x": 264, + "y": 150 } }, - "5960": { - "name": "merge", - "summary": "Merge Error Data", - "description": "Merge Data - Error result", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", - "variables": { - "incoming": { - "data_to_merge": [ - { - "key": "response", - "value": { - "task": "job", - "variable": "GetFileErrorQuery" - } - }, - { - "key": "result", - "value": { - "task": "static", - "variable": "error" - } - }, - { - "key": "code", - "value": { - "task": "8866", - "variable": "return_data" - } - } - ] - }, - "outgoing": { - "merged_object": null - } - }, - "groups": [], - "canvasName": "merge", - "nodeLocation": { - "x": 876, - "y": -132 - } - }, - "8866": { - "name": "query", - "summary": "Query Response Code", - "description": "Query Response Code from gitlab call", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "IAPerror.code", - "obj": "$var.job.getFileError" - }, - "outgoing": { - "return_data": null - }, - "error": "" - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "scheduled": false, - "canvasName": "query", "nodeLocation": { - "x": 12, - "y": -192 + "x": 264, + "y": 300 } - }, + } + }, + "transitions": { "workflow_start": { - "name": "workflow_start", - "groups": [], - "summary": "workflow_start", - "description": "workflow_start", - "nodeLocation": { - "x": -276, - "y": -780 + "a1a1": { + "type": "standard", + "state": "success" } }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "summary": "workflow_end", - "description": "workflow_end", - "nodeLocation": { - "x": -276, - "y": 168 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "1a0b": { - "name": "getV4ProjectsIdRepositoryFiles", - "summary": "Get Config Model", - "description": "Get Config Model from gitlab", - "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", - "displayName": "Gitlab", - "type": "automatic", - "variables": { - "incoming": { - "id": "$var.dc55.return_data", - "filePath": "$var.job.fullPath", - "ref": "master", - "adapter_id": "$var.job.adapterId" - }, - "outgoing": { - "result": null - }, - "error": "$var.job.getFileError" + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "groups": [], - "actor": "Pronghorn", - "scheduled": false, - "canvasName": "getV4ProjectsIdRepositoryFiles", - "nodeLocation": { - "x": -276, - "y": -192 + "user_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level" + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Date string in the format YEAR-MONTH-DAY" + }, + "member_role_id": { + "type": "integer", + "format": "int32", + "description": "The ID of the Member Role to be updated" + } + }, + "required": [ + "access_level" + ], + "description": "Updates a member of a group or project." } }, - "5ceb": { - "name": "getV4ProjectsId", - "canvasName": "getV4ProjectsId", - "summary": "Get Project", - "description": "Get a single project using full path to repository", - "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", - "type": "automatic", - "displayName": "gitlab", - "variables": { - "incoming": { - "id": "$var.job.projectPath", - "adapter_id": "$var.job.adapterId" - }, - "outgoing": { - "result": "" - }, - "error": "$var.job.getFileError" + "required": [ + "id", + "user_id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -276, - "y": -612 + "user_id": { + "type": "integer", + "format": "int32" }, - "group": "Gitlab" - }, - "7af7": { - "name": "query", - "summary": "Query File Content", - "description": "Query file content", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response.content", - "obj": "$var.1a0b.result" - }, - "outgoing": { - "return_data": null + "spec": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "description": "A valid access level" + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Date string in the format YEAR-MONTH-DAY" + }, + "member_role_id": { + "type": "integer", + "format": "int32", + "description": "The ID of the Member Role to be updated" + } }, - "error": "" + "required": [ + "access_level" + ], + "description": "Updates a member of a group or project." }, - "groups": [], - "scheduled": false, - "canvasName": "query", - "nodeLocation": { - "x": -276, - "y": -108 - } - }, - "dc55": { - "name": "query", - "summary": "Get Project Id", - "description": "Get GitLab project id", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response.id", - "obj": "$var.5ceb.result" - }, - "outgoing": { - "return_data": null - }, - "error": "" + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, - "groups": [], - "scheduled": false, - "canvasName": "query", - "nodeLocation": { - "x": -276, - "y": -528 + "initiator": { + "type": "string" } - }, - "ef6e": { - "name": "merge", - "summary": "Merge Data - filePathName", - "description": "Merge Data - filePathName", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", - "variables": { - "incoming": { - "data_to_merge": [ - { - "key": "filePath", - "value": { - "task": "job", - "variable": "filePath", - "editable": true - } - }, - { - "key": "fileName", - "value": { - "task": "job", - "variable": "fileName", - "editable": true - } - } - ] - }, - "outgoing": { - "merged_object": null - } - }, + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "de64d96c-a43e-47b9-b0d7-487e4aa6fbb4", + "created": "2026-08-12T20:06:03.354Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 16, + "reference": "11fd7d70-9501-4ab5-bdbc-3cc3032420df", + "type": "workflow", + "folder": "/Members", + "document": { + "name": "Delete Project Member", + "description": "Delete Project Member", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], - "canvasName": "merge", "nodeLocation": { - "x": -276, - "y": -696 + "x": 264, + "y": 0 } }, - "cfa6": { - "name": "query", - "summary": "Query Get File Error", - "description": "Query for Get File Error", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", + "a1a1": { + "name": "deleteApiV4ProjectsIdMembersUserId", + "canvasName": "deleteApiV4ProjectsIdMembersUserId", + "summary": "deleteApiV4ProjectsIdMembersUserId", + "description": "deleteApiV4ProjectsIdMembersUserId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", "variables": { "incoming": { - "pass_on_null": false, - "query": "IAPerror.raw_response.response", - "obj": "$var.job.getFileError" + "adapter_id": "GitLab", + "id": "$var.job.id", + "user_id": "$var.job.user_id" }, "outgoing": { - "return_data": "$var.job.GetFileErrorQuery" + "response": null }, - "error": "" + "error": "", + "decorators": [] }, "groups": [], + "actor": "Pronghorn", "scheduled": false, - "canvasName": "query", "nodeLocation": { - "x": 588, - "y": -192 + "x": 264, + "y": 150 } }, - "a8cd": { - "name": "merge", - "summary": "Merge Success Data", - "description": "Merge Data - success", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", - "variables": { - "incoming": { - "data_to_merge": [ - { - "key": "response", - "value": { - "task": "7af7", - "variable": "return_data" - } - }, - { - "key": "result", - "value": { - "task": "static", - "variable": "success" - } - }, - { - "key": "code", - "value": { - "task": "static", - "variable": 200 - } - } - ] - }, - "outgoing": { - "merged_object": null - } - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "canvasName": "merge", "nodeLocation": { - "x": -276, - "y": -24 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "9f1b": { - "name": "newVariable", - "summary": "Failure Variable", - "description": "Create a new Job variable with error/failure results", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", - "variables": { - "incoming": { - "name": "result", - "value": "$var.5960.merged_object" - }, - "outgoing": { - "value": null - } - }, - "groups": [], - "canvasName": "newVariable", - "nodeLocation": { - "x": 1164, - "y": -132 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "9e27": { - "name": "newVariable", - "summary": "Success Variable", - "description": "Create a new Job variable with successful results", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", - "variables": { - "incoming": { - "name": "result", - "value": "$var.a8cd.merged_object" - }, - "outgoing": { - "value": null - } + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "groups": [], - "canvasName": "newVariable", - "nodeLocation": { - "x": -276, - "y": 60 + "user_id": { + "type": "integer", + "format": "int32" } }, - "b538": { - "name": "query", - "summary": "Query Error - displayString", - "description": "Query displayString", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "IAPerror.displayString", - "obj": "$var.job.getFileError" - }, - "outgoing": { - "return_data": "$var.job.GetFileErrorQuery" - }, - "error": "" + "required": [ + "id", + "user_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "user_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "b6171364-daf1-4401-a6c1-13e76432cb22", + "created": "2026-08-12T20:06:03.382Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 17, + "reference": "e3de85fd-f164-415b-930d-d19114a482bf", + "type": "workflow", + "folder": "/Deploy Tokens", + "document": { + "name": "List Group Deploy Tokens", + "description": "List Group Deploy Tokens", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], - "scheduled": false, - "canvasName": "query", "nodeLocation": { - "x": 588, - "y": -108 + "x": 264, + "y": 0 } }, - "54e2": { - "name": "reattempt", - "summary": "Re-Attempt Get File", - "description": "Re-attempt Get File from gitlab", - "location": "Application", - "locationType": null, - "app": "MOP", - "displayName": "MOP", + "a1a1": { + "name": "getApiV4GroupsIdDeployTokens", + "canvasName": "getApiV4GroupsIdDeployTokens", + "summary": "getApiV4GroupsIdDeployTokens", + "description": "getApiV4GroupsIdDeployTokens", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", + "displayName": "GitLab", "variables": { "incoming": { - "job_id": "$var.job._id", - "attemptID": "attempt", - "minutes": 1, - "attempts": 2 + "adapter_id": "GitLab", + "id": "$var.job.id" }, "outgoing": { "response": null @@ -5924,271 +3435,53 @@ "groups": [], "actor": "Pronghorn", "scheduled": false, - "canvasName": "reattempt", - "nodeLocation": { - "x": 300, - "y": -108 - } - }, - "33d0": { - "name": "evaluation", - "summary": "Check Path Length", - "description": "Eval to check path lenght", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "WorkFlowEngine", - "type": "operation", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "length", - "task": "855" - }, - "operator": "!=", - "operand_2": { - "variable": 0, - "task": "static" - } - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } - }, - "groups": [], - "canvasName": "evaluation", "nodeLocation": { - "x": -276, - "y": -360 + "x": 264, + "y": 150 } }, - "d0d1": { - "name": "makeData", - "summary": "Make Data File Path", - "description": "Make Data File with no path", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "automatic", - "variables": { - "incoming": { - "input": "", - "outputType": "string", - "variables": "$var.ef6e.merged_object" - }, - "outgoing": { - "output": "$var.job.fullPath" - }, - "error": "" - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "actor": "Pronghorn", - "scheduled": false, - "canvasName": "makeData", "nodeLocation": { - "x": 24, - "y": -360 + "x": 264, + "y": 300 } } }, "transitions": { - "193": { - "1a0b": { - "type": "standard", - "state": "success" - } - }, - "650": { - "cfa6": { - "type": "standard", - "state": "failure" - }, - "54e2": { - "type": "standard", - "state": "success" - } - }, - "855": { - "33d0": { - "type": "standard", - "state": "success" - } - }, - "5960": { - "9f1b": { - "type": "standard", - "state": "success" - } - }, - "8866": { - "650": { - "type": "standard", - "state": "success" - } - }, "workflow_start": { - "ef6e": { - "type": "standard", - "state": "success" - } - }, - "workflow_end": {}, - "1a0b": { - "8866": { - "type": "standard", - "state": "error" - }, - "7af7": { - "type": "standard", - "state": "success" - } - }, - "5ceb": { - "8866": { - "type": "standard", - "state": "error" - }, - "dc55": { - "type": "standard", - "state": "success" - } - }, - "7af7": { - "a8cd": { - "type": "standard", - "state": "success" - } - }, - "dc55": { - "855": { - "type": "standard", - "state": "success" - } - }, - "ef6e": { - "5ceb": { - "type": "standard", - "state": "success" - } - }, - "cfa6": { - "5960": { - "type": "standard", - "state": "success" - } - }, - "a8cd": { - "9e27": { - "type": "standard", - "state": "success" - } - }, - "9f1b": { - "workflow_end": { + "a1a1": { "type": "standard", "state": "success" } }, - "9e27": { + "a1a1": { "workflow_end": { "type": "standard", "state": "success" } }, - "b538": { - "5960": { - "type": "standard", - "state": "success" - } - }, - "54e2": { - "b538": { - "type": "standard", - "state": "error" - }, - "1a0b": { - "type": "revert", - "state": "success" - } - }, - "33d0": { - "193": { - "type": "standard", - "state": "success" - }, - "d0d1": { - "type": "standard", - "state": "failure" - } - }, - "d0d1": { - "1a0b": { - "type": "standard", - "state": "success" - } - }, - "869e": {}, - "e2cb": {} + "workflow_end": {} }, "inputSchema": { "type": "object", "properties": { - "filePath": { - "title": "str", - "type": "string", - "examples": ["Hello World"] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "fileName": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "_id": { - "title": "job_id", - "type": "string", - "examples": ["test"] + "id": { + "type": "integer", + "format": "int32" } }, "required": [ - "filePath", - "adapterId", - "projectPath", - "fileName", - "_id" + "id" ] }, "outputSchema": { "type": "object", "properties": { - "filePath": { - "title": "str", - "type": "string", - "examples": ["Hello World"] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "fileName": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "integer", + "format": "int32" }, "_id": { "type": "string", @@ -6196,359 +3489,200 @@ }, "initiator": { "type": "string" - }, - "fullPath": { - "title": "output", - "type": ["array", "string", "boolean", "number", "object"] - }, - "GetFileErrorQuery": { - "title": "return_data", - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "object" - }, - { - "type": "array" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "examples": ["value"] - }, - "getFileError": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "result": { - "type": ["array", "boolean", "null", "number", "object", "string"] } } }, - "decorators": [ - { - "type": "encryption", - "pointer": "/variables/fullPath" - } - ], - "createdVersion": "4.5.3-2019.2.2.0", - "font_size": 12, - "lastUpdatedVersion": "5.55.2-2023.2.13", - "last_updated": "2025-01-23T20:44:00.337Z", - "preAutomationTime": 0, - "sla": 0, - "type": "automation", + "last_updated": "2026-08-12T20:10:34.338Z", "last_updated_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, - "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, + "lastUpdatedVersion": "4.69.69", + "uuid": "0e46a29b-a269-4e49-a5b2-d1143ea75016", + "created": "2026-08-12T20:06:03.411Z", "created_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, "tags": [], "groups": [], - "migrationVersion": 3 + "migrationVersion": 8 } }, { - "iid": 9, - "reference": "01ccb860-88a2-48b5-a62e-cb89663f0634", + "iid": 18, + "reference": "79302e32-af8d-40e4-93dc-ed6595c21de5", "type": "workflow", - "folder": "/", + "folder": "/Deploy Tokens", "document": { - "name": "Create Branch", + "name": "Create Group Deploy Token", + "description": "Create Group Deploy Token", + "type": "automation", + "font_size": 12, "tasks": { "workflow_start": { "name": "workflow_start", "groups": [], - "summary": "workflow_start", - "description": "workflow_start", - "nodeLocation": { - "x": -2724, - "y": 24 - } - }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "summary": "workflow_end", - "description": "workflow_end", - "nodeLocation": { - "x": -2724, - "y": 504 - } - }, - "e31": { - "name": "query", - "canvasName": "query", - "summary": "Get Project ID", - "description": "Get Project ID from project response", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response.id", - "obj": "$var.8a40.result" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": -2724, - "y": 216 - } - }, - "4ad8": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "GitLab Error", - "description": "Show GitLab error details.", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "GitLab Error", - "message": "", - "body": "$var.job.gitlabError", - "variables": {}, - "btn_success": "OK", - "btn_failure": "" - }, - "outgoing": {}, - "error": "", - "decorators": [] - }, - "view": "/workflow_engine/task/ViewData", - "groups": [], - "scheduled": false, "nodeLocation": { - "x": -2424, - "y": 276 + "x": 264, + "y": 0 } }, - "6e2e": { - "name": "postV4ProjectsIdRepositoryBranches", - "canvasName": "postV4ProjectsIdRepositoryBranches", - "summary": "Create Branch", - "description": "Create new branch", + "a1a1": { + "name": "postApiV4GroupsIdDeployTokens", + "canvasName": "postApiV4GroupsIdDeployTokens", + "summary": "postApiV4GroupsIdDeployTokens", + "description": "postApiV4GroupsIdDeployTokens", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Gitlab", + "displayName": "GitLab", "variables": { "incoming": { - "id": "$var.e31.return_data", - "body": "$var.6fe7.merged_object", - "adapter_id": "$var.job.adapterId" + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" }, "outgoing": { - "result": "$var.job.createdBranch" + "response": null }, - "error": "$var.job.gitlabError", + "error": "", "decorators": [] }, "groups": [], "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -2724, - "y": 408 - } - }, - "6fe7": { - "name": "merge", - "canvasName": "merge", - "summary": "Build Branch Creation Payload", - "description": "Build Branch Creation Payload", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "data_to_merge": [ - { - "key": "id", - "value": { - "task": "e31", - "variable": "return_data" - } - }, - { - "key": "branch", - "value": { - "task": "job", - "variable": "branchName", - "editable": true - } - }, - { - "key": "ref", - "value": { - "task": "job", - "variable": "sourceBranchName", - "editable": true - } - } - ] - }, - "outgoing": { - "merged_object": null - } - }, - "groups": [], - "nodeLocation": { - "x": -2724, - "y": 312 + "x": 264, + "y": 150 } }, - "8a40": { - "name": "getV4ProjectsId", - "canvasName": "getV4ProjectsId", - "summary": "Get Project", - "description": "Get a single project using the full path to repository.", - "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", - "type": "automatic", - "displayName": "gitlab", - "variables": { - "incoming": { - "id": "$var.job.projectPath", - "adapter_id": "$var.job.adapterId" - }, - "outgoing": { - "result": "" - }, - "error": "$var.job.gitlabError" - }, - "actor": "Pronghorn", + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": -2724, - "y": 120 + "x": 264, + "y": 300 } } }, "transitions": { - "8866": {}, "workflow_start": { - "8a40": { - "state": "success", - "type": "standard" - } - }, - "workflow_end": {}, - "e31": { - "6fe7": { + "a1a1": { "type": "standard", "state": "success" } }, - "4ad8": { + "a1a1": { "workflow_end": { "type": "standard", "state": "success" } }, - "6e2e": { - "4ad8": { - "type": "standard", - "state": "error" - }, - "workflow_end": { - "type": "standard", - "state": "success" - } - }, - "6fe7": { - "6e2e": { - "type": "standard", - "state": "success" - } - }, - "8a40": { - "e31": { - "state": "success", - "type": "standard" - }, - "4ad8": { - "type": "standard", - "state": "error" - } - }, - "869e": {}, - "e2cb": {} + "workflow_end": {} }, "inputSchema": { "type": "object", "properties": { - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "branchName": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "integer", + "format": "int32" }, - "sourceBranchName": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "New deploy token's name" + }, + "scopes": { + "type": "array", + "description": "Indicates the deploy token scopes. Must be at least one of `read_repository`, `read_registry`, `write_registry`, `read_package_registry`, or `write_package_registry`", + "items": { + "type": "string", + "enum": [ + "read_repository", + "read_registry", + "write_registry", + "read_package_registry", + "write_package_registry" + ] + } + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Expiration date for the deploy token. Does not expire if no value is provided. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`)" + }, + "username": { + "type": "string", + "description": "Username for deploy token. Default is `gitlab+deploy-token-{n}`" + } + }, + "required": [ + "name", + "scopes" + ], + "description": "Create a group deploy token" } }, "required": [ - "adapterId", - "branchName", - "sourceBranchName", - "projectPath" + "id", + "spec" ] }, "outputSchema": { "type": "object", "properties": { - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "branchName": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "integer", + "format": "int32" }, - "sourceBranchName": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "New deploy token's name" + }, + "scopes": { + "type": "array", + "description": "Indicates the deploy token scopes. Must be at least one of `read_repository`, `read_registry`, `write_registry`, `read_package_registry`, or `write_package_registry`", + "items": { + "type": "string", + "enum": [ + "read_repository", + "read_registry", + "write_registry", + "read_package_registry", + "write_package_registry" + ] + } + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Expiration date for the deploy token. Does not expire if no value is provided. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`)" + }, + "username": { + "type": "string", + "description": "Username for deploy token. Default is `gitlab+deploy-token-{n}`" + } + }, + "required": [ + "name", + "scopes" + ], + "description": "Create a group deploy token" }, "_id": { "type": "string", @@ -6556,334 +3690,267 @@ }, "initiator": { "type": "string" - }, - "gitlabError": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "createdBranch": { - "type": ["array", "boolean", "null", "number", "object", "string"] } } }, - "decorators": [], - "createdVersion": "5.40.5-2021.1.52.0", - "font_size": 12, - "lastUpdatedVersion": "5.55.2-2023.2.13", - "last_updated": "2025-01-23T20:44:00.343Z", - "preAutomationTime": 0, - "sla": 0, - "type": "automation", + "last_updated": "2026-08-12T20:10:34.338Z", "last_updated_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, - "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, + "lastUpdatedVersion": "4.69.69", + "uuid": "fd0d0736-2ccd-49ab-9bbc-bd5e89bdfbcd", + "created": "2026-08-12T20:06:03.442Z", "created_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, "tags": [], "groups": [], - "migrationVersion": 3 + "migrationVersion": 8 } }, { - "iid": 10, - "reference": "e0441b19-e63d-4743-bf02-d04781076a13", + "iid": 19, + "reference": "03ef3591-6aeb-4ee4-88b9-93e0e70475d3", "type": "workflow", - "folder": "/", + "folder": "/Deploy Tokens", "document": { - "name": "Create Merge Request", + "name": "Get Group Deploy Token", + "description": "Get Group Deploy Token", + "type": "automation", + "font_size": 12, "tasks": { "workflow_start": { "name": "workflow_start", "groups": [], - "summary": "workflow_start", - "description": "workflow_start", - "nodeLocation": { - "x": -2796, - "y": -192 - } - }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "summary": "workflow_end", - "description": "workflow_end", "nodeLocation": { - "x": -2796, - "y": 264 + "x": 264, + "y": 0 } }, - "e31": { - "name": "query", - "canvasName": "query", - "summary": "Get Project ID", - "description": "Get Project ID", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", + "a1a1": { + "name": "getApiV4GroupsIdDeployTokensTokenId", + "canvasName": "getApiV4GroupsIdDeployTokensTokenId", + "summary": "getApiV4GroupsIdDeployTokensTokenId", + "description": "getApiV4GroupsIdDeployTokensTokenId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", "variables": { "incoming": { - "pass_on_null": false, - "query": "response.id", - "obj": "$var.8cdb.result" + "adapter_id": "GitLab", + "id": "$var.job.id", + "token_id": "$var.job.token_id" }, "outgoing": { - "return_data": null + "response": null }, "error": "", "decorators": [] }, "groups": [], + "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -2796, - "y": -24 + "x": 264, + "y": 150 } }, - "cbd": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "GitLab Error", - "description": "View GitLab Error details", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "GitLab Error", - "message": "", - "body": "$var.job.gitlabError", - "variables": {}, - "btn_success": "OK", - "btn_failure": "" - }, - "outgoing": {}, - "error": "", - "decorators": [] - }, - "view": "/workflow_engine/task/ViewData", + "workflow_end": { + "name": "workflow_end", "groups": [], - "scheduled": false, "nodeLocation": { - "x": -2508, - "y": 36 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "e31c": { - "name": "postV4ProjectsIdMergeRequests", - "canvasName": "postV4ProjectsIdMergeRequests", - "summary": "Create Merge Request", - "description": "Create a merge request", - "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", - "type": "automatic", - "displayName": "Gitlab", - "variables": { - "incoming": { - "id": "$var.e31.return_data", - "body": "$var.a43f.merged_object", - "adapter_id": "$var.job.adapterId" - }, - "outgoing": { - "result": null - }, - "error": "$var.job.gitlabError", - "decorators": [] + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" }, - "groups": [], - "actor": "Pronghorn", - "scheduled": false, - "nodeLocation": { - "x": -2796, - "y": 144 + "token_id": { + "type": "integer", + "format": "int32" } }, - "a43f": { - "name": "merge", - "canvasName": "merge", - "summary": "Build Merge Request Payload", - "description": "Build Merge Request Payload", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "data_to_merge": [ - { - "key": "source_branch", - "value": { - "task": "job", - "variable": "sourceBranch", - "editable": true - } - }, - { - "key": "target_branch", - "value": { - "task": "job", - "variable": "targetBranch", - "editable": true - } - }, - { - "key": "title", - "value": { - "task": "job", - "variable": "mergeRequestTitle", - "editable": true - } - } - ] - }, - "outgoing": { - "merged_object": null - } + "required": [ + "id", + "token_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "token_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "e47531d3-9e14-491c-9993-6882276d8b78", + "created": "2026-08-12T20:06:03.468Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 20, + "reference": "3b174ca1-8986-4949-8181-d062ecca5a3b", + "type": "workflow", + "folder": "/Deploy Tokens", + "document": { + "name": "Delete Group Deploy Token", + "description": "Delete Group Deploy Token", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": -2796, - "y": 60 + "x": 264, + "y": 0 } }, - "8cdb": { - "name": "getV4ProjectsId", - "canvasName": "getV4ProjectsId", - "summary": "Get Project", - "description": "Get a single project using full path to repository", + "a1a1": { + "name": "deleteApiV4GroupsIdDeployTokensTokenId", + "canvasName": "deleteApiV4GroupsIdDeployTokensTokenId", + "summary": "deleteApiV4GroupsIdDeployTokensTokenId", + "description": "deleteApiV4GroupsIdDeployTokensTokenId", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "gitlab", + "displayName": "GitLab", "variables": { "incoming": { - "id": "$var.job.projectPath", - "adapter_id": "$var.job.adapterId" + "adapter_id": "GitLab", + "id": "$var.job.id", + "token_id": "$var.job.token_id" }, "outgoing": { - "result": "" + "response": null }, - "error": "$var.job.gitlabError" + "error": "", + "decorators": [] }, + "groups": [], "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": -2796, - "y": -108 + "x": 264, + "y": 300 } } }, "transitions": { - "8866": {}, "workflow_start": { - "8cdb": { - "state": "success", - "type": "standard" - } - }, - "workflow_end": {}, - "e31": { - "a43f": { - "type": "standard", - "state": "success" - } - }, - "cbd": { - "workflow_end": { + "a1a1": { "type": "standard", "state": "success" } }, - "e31c": { - "cbd": { - "type": "standard", - "state": "error" - }, + "a1a1": { "workflow_end": { "type": "standard", "state": "success" } }, - "a43f": { - "e31c": { - "type": "standard", - "state": "success" - } - }, - "8cdb": { - "e31": { - "state": "success", - "type": "standard" - }, - "cbd": { - "type": "standard", - "state": "error" - } - }, - "869e": {}, - "e2cb": {} + "workflow_end": {} }, "inputSchema": { "type": "object", "properties": { - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "sourceBranch": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "targetBranch": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "integer", + "format": "int32" }, - "mergeRequestTitle": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "token_id": { + "type": "integer", + "format": "int32" } }, "required": [ - "adapterId", - "sourceBranch", - "targetBranch", - "mergeRequestTitle", - "projectPath" + "id", + "token_id" ] }, "outputSchema": { "type": "object", "properties": { - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "sourceBranch": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "targetBranch": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "mergeRequestTitle": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "integer", + "format": "int32" }, - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "token_id": { + "type": "integer", + "format": "int32" }, "_id": { "type": "string", @@ -6891,250 +3958,193 @@ }, "initiator": { "type": "string" - }, - "gitlabError": { - "type": ["array", "boolean", "null", "number", "object", "string"] } } }, - "createdVersion": "5.40.5-2021.1.52.0", - "font_size": 12, - "lastUpdatedVersion": "5.55.2-2023.2.13", - "last_updated": "2025-01-23T20:44:00.338Z", - "preAutomationTime": 0, - "sla": 0, - "type": "automation", + "last_updated": "2026-08-12T20:10:34.338Z", "last_updated_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, - "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, + "lastUpdatedVersion": "4.69.69", + "uuid": "b8c546df-fbbe-4095-b389-08060f14a616", + "created": "2026-08-12T20:06:03.497Z", "created_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, "tags": [], "groups": [], - "migrationVersion": 3 + "migrationVersion": 8 } }, { - "iid": 11, - "reference": "d3aa504e-bb46-48dc-812e-99e0bff32a58", + "iid": 21, + "reference": "6fefea75-ab82-44b9-98b0-f9d132806e41", "type": "workflow", - "folder": "/Create Project", + "folder": "/Deploy Tokens", "document": { - "name": "Create Project", - "description": "Creates a new GitLab project if it doesn't exists", + "name": "List Project Deploy Tokens", + "description": "List Project Deploy Tokens", + "type": "automation", + "font_size": 12, "tasks": { - "599": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Error ReturnStatus", - "description": "Error ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": "$var.2647.ReturnStatus" - }, - "outgoing": { - "value": null - } - }, + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": 24, - "y": -588 + "x": 264, + "y": 0 } }, - "2263": { - "name": "stub", - "canvasName": "stub", - "summary": "Error Path", - "description": "Stub to clean up error path", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", + "a1a1": { + "name": "getApiV4ProjectsIdDeployTokens", + "canvasName": "getApiV4ProjectsIdDeployTokens", + "summary": "getApiV4ProjectsIdDeployTokens", + "description": "getApiV4ProjectsIdDeployTokens", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Tools", - "variables": { - "incoming": { - "type": "success", - "delay": "", - "response": "" - }, - "outgoing": { - "response": "" - } - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 876, - "y": -216 - } - }, - "2647": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Format Error ReturnStatus", - "description": "Create Error ReturnStatus - GitLab", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", + "displayName": "GitLab", "variables": { "incoming": { - "tr_id": "6436be7b5c18656ff16ca023", - "variableMap": { - "taskName": "get_list_of_projects", - "response": "$var.93df.error", - "message": "Error getting the list of projects in the group.", - "ReturnStatus": "$var.job.ReturnStatus" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } + "adapter_id": "GitLab", + "id": "$var.job.id" }, "outgoing": { - "ReturnStatus": null + "response": null }, + "error": "", "decorators": [] }, "groups": [], - "task_name": "Create Error ReturnStatus - GitLab", - "retrySettings": null, + "actor": "Pronghorn", + "scheduled": false, "nodeLocation": { - "x": -252, - "y": -588 + "x": 264, + "y": 150 } }, - "5438": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Format Success ReturnStatus", - "description": "Create Success ReturnStatus - GitLab", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "6436bede5c18656ff16ca024", - "variableMap": { - "taskName": "create_project", - "response": "$var.bc17.result", - "message": "Project Created Successfully", - "ReturnStatus": "$var.job.ReturnStatus" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } - }, - "outgoing": { - "ReturnStatus": null - }, - "decorators": [] - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "task_name": "Create Success ReturnStatus - GitLab", - "retrySettings": null, "nodeLocation": { - "x": 24, - "y": -168 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "8673": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "View Success Response", - "description": "View Data for Success", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "Success", - "message": "Project already exists", - "body": "", - "variables": "", - "btn_success": "Exit", - "btn_failure": "" - }, - "outgoing": {}, - "error": "", - "decorators": [] - }, - "view": "/workflow_engine/task/ViewData", - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": -672, - "y": 96 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "workflow_start": { - "name": "workflow_start", - "groups": [], - "nodeLocation": { - "x": -540, - "y": -840 + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" } }, - "workflow_end": { - "name": "workflow_end", + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "7e485642-c899-42d8-905d-8f9691f9414e", + "created": "2026-08-12T20:06:03.527Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 22, + "reference": "cee6ddb2-1961-4264-8c13-2417a9e032e3", + "type": "workflow", + "folder": "/Deploy Tokens", + "document": { + "name": "Create Project Deploy Token", + "description": "Create Project Deploy Token", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": -384, - "y": 216 + "x": 264, + "y": 0 } }, - "93df": { - "name": "getV4GroupsIdProjects", - "canvasName": "getV4GroupsIdProjects", - "summary": "List Projects", - "description": "Get a list of projects in this group.", + "a1a1": { + "name": "postApiV4ProjectsIdDeployTokens", + "canvasName": "postApiV4ProjectsIdDeployTokens", + "summary": "postApiV4ProjectsIdDeployTokens", + "description": "postApiV4ProjectsIdDeployTokens", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Gitlab", + "displayName": "GitLab", "variables": { "incoming": { - "id": "$var.job.group_id", - "archived": false, - "visibility": "", - "search": "$var.job.new_project_name", - "orderBy": "", - "sort": "", - "simple": true, - "page": "", - "perPage": "", - "adapter_id": "$var.job.adapterId" + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" }, "outgoing": { - "result": null + "response": null }, "error": "", "decorators": [] @@ -7143,127 +4153,196 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -540, - "y": -588 + "x": 264, + "y": 150 } }, - "5be0": { - "name": "query", - "canvasName": "query", - "summary": "Get Response", - "description": "Get Response from gitlab", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response", - "obj": "$var.93df.result" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "scheduled": false, "nodeLocation": { - "x": -540, - "y": -504 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "7e9e": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Project Exists?", - "description": "Check if project exists", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "length", - "task": "22ed" - }, - "operator": "!=", - "operand_2": { - "variable": 0, - "task": "static" - } - } + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "New deploy token's name" + }, + "scopes": { + "type": "array", + "description": "Indicates the deploy token scopes. Must be at least one of `read_repository`, `read_registry`, `write_registry`, `read_package_registry`, or `write_package_registry`.", + "items": { + "type": "string", + "enum": [ + "read_repository", + "read_registry", + "write_registry", + "read_package_registry", + "write_package_registry" ] } - ] + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Expiration date for the deploy token. Does not expire if no value is provided. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`)." + }, + "username": { + "type": "string", + "description": "Username for deploy token. Default is `gitlab+deploy-token-{n}`" + } }, - "outgoing": { - "return_value": null - } - }, - "groups": [], - "nodeLocation": { - "x": -540, - "y": -336 + "required": [ + "name", + "scopes" + ], + "description": "Create a project deploy token" } }, - "22ed": { - "name": "arrayLength", - "canvasName": "length", - "summary": "Project List Length", - "description": "Get Project List Length", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Array", - "variables": { - "incoming": { - "arr": "$var.5be0.return_data" - }, - "outgoing": { - "length": null + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "New deploy token's name" + }, + "scopes": { + "type": "array", + "description": "Indicates the deploy token scopes. Must be at least one of `read_repository`, `read_registry`, `write_registry`, `read_package_registry`, or `write_package_registry`.", + "items": { + "type": "string", + "enum": [ + "read_repository", + "read_registry", + "write_registry", + "read_package_registry", + "write_package_registry" + ] + } + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "Expiration date for the deploy token. Does not expire if no value is provided. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`)." + }, + "username": { + "type": "string", + "description": "Username for deploy token. Default is `gitlab+deploy-token-{n}`" + } }, - "error": "", - "decorators": [] + "required": [ + "name", + "scopes" + ], + "description": "Create a project deploy token" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "9a3aee9a-30d0-4963-8b90-f89c24ea7004", + "created": "2026-08-12T20:06:03.553Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 23, + "reference": "5de24e89-5776-463e-b84c-feb15eb12142", + "type": "workflow", + "folder": "/Deploy Tokens", + "document": { + "name": "Get Project Deploy Token", + "description": "Get Project Deploy Token", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], - "actor": "Pronghorn", - "scheduled": false, "nodeLocation": { - "x": -540, - "y": -420 + "x": 264, + "y": 0 } }, - "bc17": { - "name": "postV4Projects", - "canvasName": "postV4Projects", - "summary": "Create New Project", - "description": "Create new project in gitlab", + "a1a1": { + "name": "getApiV4ProjectsIdDeployTokensTokenId", + "canvasName": "getApiV4ProjectsIdDeployTokensTokenId", + "summary": "getApiV4ProjectsIdDeployTokensTokenId", + "description": "getApiV4ProjectsIdDeployTokensTokenId", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Gitlab", + "displayName": "GitLab", "variables": { "incoming": { - "body": "$var.61d4.merged_object", - "adapter_id": "$var.job.adapterId" + "adapter_id": "GitLab", + "id": "$var.job.id", + "token_id": "$var.job.token_id" }, "outgoing": { - "result": null + "response": null }, "error": "", "decorators": [] @@ -7272,313 +4351,261 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": 24, - "y": -336 + "x": 264, + "y": 150 } }, - "117b": { - "name": "query", - "canvasName": "query", - "summary": "Get Project ID", - "description": "Get Project ID for ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response.id", - "obj": "$var.bc17.result" - }, - "outgoing": { - "return_data": "$var.job.projectId" - }, - "error": "", - "decorators": [] - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "scheduled": false, "nodeLocation": { - "x": 24, - "y": -252 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "ff6e": { - "name": "query", - "canvasName": "query", - "summary": "Get Existing Project ID", - "description": "Get Existing Project ID", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "[0].id", - "obj": "$var.5be0.return_data" - }, - "outgoing": { - "return_data": "$var.job.projectId" - }, - "error": "", - "decorators": [] - }, - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": -540, - "y": -252 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "61d4": { - "name": "merge", - "canvasName": "merge", - "summary": "Create Project Body", - "description": "Create new project request body", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "data_to_merge": [ - { - "key": "name", - "value": { - "task": "job", - "variable": "new_project_name" - } - }, - { - "key": "description", - "value": { - "task": "job", - "variable": "project_description", - "editable": true - } - }, - { - "key": "namespace_id", - "value": { - "task": "job", - "variable": "group_id" - } - } - ] - }, - "outgoing": { - "merged_object": null - } + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "groups": [], - "nodeLocation": { - "x": -264, - "y": -336 + "token_id": { + "type": "integer", + "format": "int32" } }, - "8bf6": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Result Data", - "description": "Create job variable to hold results of workflow.", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": { - "status": "", - "message": "", - "errors": [], - "response": {} - } - }, - "outgoing": { - "value": null - } + "required": [ + "id", + "token_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "token_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "13791a35-b3c1-4a44-b55a-4c6e408cd3cd", + "created": "2026-08-12T20:06:03.580Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 24, + "reference": "37e6ea24-5e73-41a9-9a70-252e68c36bf8", + "type": "workflow", + "folder": "/Deploy Tokens", + "document": { + "name": "Delete Project Deploy Token", + "description": "Delete Project Deploy Token", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": -540, - "y": -756 + "x": 264, + "y": 0 } }, - "44ca": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Zero Touch Option", - "description": "Zero Touch Option", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", + "a1a1": { + "name": "deleteApiV4ProjectsIdDeployTokensTokenId", + "canvasName": "deleteApiV4ProjectsIdDeployTokensTokenId", + "summary": "deleteApiV4ProjectsIdDeployTokensTokenId", + "description": "deleteApiV4ProjectsIdDeployTokensTokenId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", "variables": { "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "verbose", - "task": "job", - "editable": true - }, - "operator": "==", - "operand_2": { - "variable": true, - "task": "static" - }, - "rightQuery": "" - } - ] - } - ] + "adapter_id": "GitLab", + "id": "$var.job.id", + "token_id": "$var.job.token_id" }, "outgoing": { - "return_value": null - } - }, - "groups": [], - "nodeLocation": { - "x": 312, - "y": -588 - } - }, - "5e04": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "View Error", - "description": "View Data for Error", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "Error", - "message": "Error fetching the list of projects in the group.", - "body": "", - "variables": "", - "btn_success": "Exit", - "btn_failure": "" + "response": null }, - "outgoing": {}, "error": "", "decorators": [] }, - "view": "/workflow_engine/task/ViewData", "groups": [], + "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": 312, - "y": -504 + "x": 264, + "y": 150 } }, - "d78a": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Error ReturnStatus", - "description": "Error ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": "$var.3ea5.ReturnStatus" - }, - "outgoing": { - "value": null - } - }, + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": 588, - "y": -336 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "5b04": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Success ReturnStatus", - "description": "Success ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": "$var.27c3.ReturnStatus" - }, - "outgoing": { - "value": null - } + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "groups": [], - "nodeLocation": { - "x": -540, - "y": -84 + "token_id": { + "type": "integer", + "format": "int32" } }, - "720e": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Success ReturnStatus", - "description": "Success ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "ReturnStatus", - "value": "$var.5438.ReturnStatus" - }, - "outgoing": { - "value": null - } + "required": [ + "id", + "token_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "token_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "696e5d9f-4d56-48ef-8452-53f99f1ed34e", + "created": "2026-08-12T20:06:03.605Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 25, + "reference": "375611c1-49d3-4ab4-aaf5-a8226baab121", + "type": "workflow", + "folder": "/CI-CD Variables", + "document": { + "name": "List Group Variables", + "description": "List Group Variables", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": 24, - "y": -84 + "x": 264, + "y": 0 } }, - "2c24": { - "name": "setObjectKey", - "canvasName": "setObjectKey", - "summary": "Set Project Id", - "description": "Set Project Id on ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", + "a1a1": { + "name": "getApiV4GroupsIdVariables", + "canvasName": "getApiV4GroupsIdVariables", + "summary": "getApiV4GroupsIdVariables", + "description": "getApiV4GroupsIdVariables", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Object", + "displayName": "GitLab", "variables": { "incoming": { - "obj": "$var.job.ReturnStatus", - "path": ["project_id"], - "value": "$var.117b.return_data" + "adapter_id": "GitLab", + "id": "$var.job.id" }, "outgoing": { - "object": "$var.job.ReturnStatus" + "response": null }, "error": "", "decorators": [] @@ -7587,329 +4614,346 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": 312, - "y": 36 + "x": 264, + "y": 150 } }, - "836a": { - "name": "setObjectKey", - "canvasName": "setObjectKey", - "summary": "Set Group Id", - "description": "Set Group Id on ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Object", - "variables": { - "incoming": { - "obj": "$var.job.ReturnStatus", - "path": ["group_id"], - "value": "$var.job.group_id" - }, - "outgoing": { - "object": "$var.job.ReturnStatus" - }, - "error": "", - "decorators": [] - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "actor": "Pronghorn", - "scheduled": false, "nodeLocation": { - "x": -540, - "y": -672 + "x": 264, + "y": 300 } - }, - "3ea5": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Format Error ReturnStatus", - "description": "Create Error ReturnStatus - GitLab", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "6436be7b5c18656ff16ca023", - "variableMap": { - "taskName": "create_project", - "response": "$var.bc17.error", - "message": "Error Creating Project", - "ReturnStatus": "$var.job.ReturnStatus" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } - }, - "outgoing": { - "ReturnStatus": null - }, - "decorators": [] - }, - "groups": [], - "task_name": "Create Error ReturnStatus - GitLab", - "retrySettings": null, - "nodeLocation": { - "x": 312, - "y": -336 + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "27c3": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Create Success ReturnStatus - GitLab", - "description": "Create Success ReturnStatus - GitLab", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "6436bede5c18656ff16ca024", - "variableMap": { - "taskName": "get_list_projects_in_group", - "response": "$var.93df.result", - "message": "Project already exists", - "ReturnStatus": "$var.job.ReturnStatus" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } - }, - "outgoing": { - "ReturnStatus": null - }, - "decorators": [] - }, - "groups": [], - "task_name": "Create Success ReturnStatus - GitLab", - "retrySettings": null, - "nodeLocation": { - "x": -540, - "y": -168 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "c402": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Zero Touch Option", - "description": "Zero Touch Option", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "verbose", - "task": "job", - "editable": true - }, - "operator": "==", - "operand_2": { - "variable": true, - "task": "static" - }, - "rightQuery": "" - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } - }, - "groups": [], - "nodeLocation": { - "x": -540, - "y": 0 + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" } }, - "61a7": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Zero Touch Option", - "description": "Zero Touch Option", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "verbose", - "task": "job", - "editable": true - }, - "operator": "==", - "operand_2": { - "variable": true, - "task": "static" - }, - "rightQuery": "" - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "b17b12bb-485c-48b7-a66d-d1ca40216c41", + "created": "2026-08-12T20:06:03.637Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 26, + "reference": "af6d512f-4e44-420c-ab29-8cae811df184", + "type": "workflow", + "folder": "/CI-CD Variables", + "document": { + "name": "Create Group Variable", + "description": "Create Group Variable", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": 24, + "x": 264, "y": 0 } }, - "3b81": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "View Data for Success", - "description": "View Data for Success", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", + "a1a1": { + "name": "postApiV4GroupsIdVariables", + "canvasName": "postApiV4GroupsIdVariables", + "summary": "postApiV4GroupsIdVariables", + "description": "postApiV4GroupsIdVariables", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", "variables": { "incoming": { - "header": "Success", - "message": "Project Created Successfully", - "body": "", - "variables": "", - "btn_success": "Exit", - "btn_failure": "" + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null }, - "outgoing": {}, "error": "", "decorators": [] }, - "view": "/workflow_engine/task/ViewData", "groups": [], + "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": 24, - "y": 84 + "x": 264, + "y": 150 } }, - "ff45": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "Zero Touch Option", - "description": "Zero Touch Option", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "", - "operand_1": { - "variable": "verbose", - "task": "job", - "editable": true - }, - "operator": "==", - "operand_2": { - "variable": true, - "task": "static" - }, - "rightQuery": "" - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } - }, + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": 588, - "y": -252 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "55c0": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "View Error", - "description": "View Data for Error", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "Error", - "message": "Error Creating Project", - "body": "", - "variables": "", - "btn_success": "Exit", - "btn_failure": "" + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The ID of a group or URL-encoded path of the group owned by the\n authenticated user" + }, + "value": { + "type": "string", + "description": "The value of a variable" + }, + "protected": { + "type": "string", + "description": "Whether the variable is protected" + }, + "masked_and_hidden": { + "type": "string", + "description": "Whether the variable is masked and hidden" + }, + "masked": { + "type": "string", + "description": "Whether the variable is masked" + }, + "raw": { + "type": "string", + "description": "Whether the variable will be expanded" + }, + "variable_type": { + "type": "string", + "description": "The type of the variable. Default: env_var", + "enum": [ + "env_var", + "file" + ] + }, + "environment_scope": { + "type": "string", + "description": "The environment scope of the variable" + }, + "description": { + "type": "string", + "description": "The description of the variable" + } }, - "outgoing": {}, - "error": "", - "decorators": [] + "required": [ + "key", + "value" + ], + "description": "Create a new variable in a group" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The ID of a group or URL-encoded path of the group owned by the\n authenticated user" + }, + "value": { + "type": "string", + "description": "The value of a variable" + }, + "protected": { + "type": "string", + "description": "Whether the variable is protected" + }, + "masked_and_hidden": { + "type": "string", + "description": "Whether the variable is masked and hidden" + }, + "masked": { + "type": "string", + "description": "Whether the variable is masked" + }, + "raw": { + "type": "string", + "description": "Whether the variable will be expanded" + }, + "variable_type": { + "type": "string", + "description": "The type of the variable. Default: env_var", + "enum": [ + "env_var", + "file" + ] + }, + "environment_scope": { + "type": "string", + "description": "The environment scope of the variable" + }, + "description": { + "type": "string", + "description": "The description of the variable" + } + }, + "required": [ + "key", + "value" + ], + "description": "Create a new variable in a group" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, - "view": "/workflow_engine/task/ViewData", + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "1ae3c59c-70f8-43ac-afdd-373fce4ecf20", + "created": "2026-08-12T20:06:03.665Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 27, + "reference": "d4856a95-047b-46df-94c7-e2f567faa253", + "type": "workflow", + "folder": "/CI-CD Variables", + "document": { + "name": "Get Group Variable", + "description": "Get Group Variable", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], - "scheduled": false, "nodeLocation": { - "x": 588, - "y": -168 + "x": 264, + "y": 0 } }, - "fb11": { - "name": "setObjectKey", - "canvasName": "setObjectKey", - "summary": "Set Project Id", - "description": "Set Project Id on ReturnStatus", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", + "a1a1": { + "name": "getApiV4GroupsIdVariablesKey", + "canvasName": "getApiV4GroupsIdVariablesKey", + "summary": "getApiV4GroupsIdVariablesKey", + "description": "getApiV4GroupsIdVariablesKey", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Object", + "displayName": "GitLab", "variables": { "incoming": { - "obj": "$var.job.ReturnStatus", - "path": ["project_id"], - "value": "$var.ff6e.return_data" + "adapter_id": "GitLab", + "id": "$var.job.id", + "key": "$var.job.key" }, "outgoing": { - "object": "$var.job.ReturnStatus" + "response": null }, "error": "", "decorators": [] @@ -7918,791 +4962,743 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -384, - "y": 96 + "x": 264, + "y": 150 } }, - "e132": { - "name": "stub", - "canvasName": "stub", - "summary": "Error Path", - "description": "Stub to clean up error path", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "automatic", - "displayName": "Tools", - "variables": { - "incoming": { - "type": "success", - "delay": "", - "response": "" - }, - "outgoing": { - "response": "" - } - }, - "actor": "Pronghorn", + "workflow_end": { + "name": "workflow_end", "groups": [], "nodeLocation": { - "x": 600, - "y": -552 + "x": 264, + "y": 300 } } }, "transitions": { - "599": { - "44ca": { - "type": "standard", - "state": "success" - } - }, - "888": {}, - "2263": { - "workflow_end": { - "type": "standard", - "state": "success" - } - }, - "2647": { - "599": { - "type": "standard", - "state": "success" - } - }, - "5438": { - "720e": { - "type": "standard", - "state": "success" - } - }, - "8673": { - "fb11": { - "type": "standard", - "state": "success" - } - }, "workflow_start": { - "8bf6": { - "type": "standard", - "state": "success" - } - }, - "workflow_end": {}, - "93df": { - "2647": { - "type": "standard", - "state": "error" - }, - "5be0": { + "a1a1": { "type": "standard", "state": "success" } }, - "5be0": { - "22ed": { + "a1a1": { + "workflow_end": { "type": "standard", "state": "success" } }, - "7e9e": { - "ff6e": { - "type": "standard", - "state": "success" + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "61d4": { - "type": "standard", - "state": "failure" + "key": { + "type": "string" } }, - "22ed": { - "7e9e": { - "type": "standard", - "state": "success" - } - }, - "bc17": { - "117b": { - "type": "standard", - "state": "success" + "required": [ + "id", + "key" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "3ea5": { - "type": "standard", - "state": "error" - } - }, - "117b": { - "5438": { - "type": "standard", - "state": "success" - } - }, - "ff6e": { - "27c3": { - "type": "standard", - "state": "success" - } - }, - "61d4": { - "bc17": { - "type": "standard", - "state": "success" - } - }, - "8bf6": { - "836a": { - "type": "standard", - "state": "success" - } - }, - "44ca": { - "5e04": { - "type": "standard", - "state": "success" + "key": { + "type": "string" }, - "e132": { - "type": "standard", - "state": "failure" - } - }, - "5e04": { - "e132": { - "state": "success", - "type": "standard" - } - }, - "d78a": { - "ff45": { - "type": "standard", - "state": "success" - } - }, - "5b04": { - "c402": { - "type": "standard", - "state": "success" - } - }, - "720e": { - "61a7": { - "type": "standard", - "state": "success" - } - }, - "2c24": { - "workflow_end": { - "type": "standard", - "state": "success" - } - }, - "836a": { - "93df": { - "type": "standard", - "state": "success" - } - }, - "3ea5": { - "d78a": { - "type": "standard", - "state": "success" - } - }, - "27c3": { - "5b04": { - "type": "standard", - "state": "success" - } - }, - "c402": { - "8673": { - "type": "standard", - "state": "success" + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, - "fb11": { - "type": "standard", - "state": "failure" + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "2f3e8d67-082f-47ec-ab99-59401492d5a1", + "created": "2026-08-12T20:06:03.691Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 28, + "reference": "30f0d8eb-ca70-4d3c-8210-62bdc74a72ba", + "type": "workflow", + "folder": "/CI-CD Variables", + "document": { + "name": "Update Group Variable", + "description": "Update Group Variable", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 } }, - "61a7": { - "3b81": { - "type": "standard", - "state": "success" + "a1a1": { + "name": "putApiV4GroupsIdVariablesKey", + "canvasName": "putApiV4GroupsIdVariablesKey", + "summary": "putApiV4GroupsIdVariablesKey", + "description": "putApiV4GroupsIdVariablesKey", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "key": "$var.job.key", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] }, - "2c24": { - "type": "standard", - "state": "failure" + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 } }, - "3b81": { - "2c24": { - "type": "standard", - "state": "success" + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 } - }, - "ff45": { - "2263": { - "state": "failure", - "type": "standard" - }, - "55c0": { + } + }, + "transitions": { + "workflow_start": { + "a1a1": { "type": "standard", "state": "success" } }, - "55c0": { - "2263": { - "state": "success", - "type": "standard" - } - }, - "fb11": { + "a1a1": { "workflow_end": { "type": "standard", "state": "success" } }, - "e132": { - "workflow_end": { - "state": "success", - "type": "standard" - } - }, - "7bed": {}, - "972d": {}, - "1ae2": {} + "workflow_end": {} }, "inputSchema": { "type": "object", "properties": { - "group_id": { - "title": "value", - "type": [ - "string", - "number", - "integer", - "object", - "array", - "boolean" - ], - "examples": [ - { - "third": "last" - } - ] - }, - "new_project_name": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "string" }, - "project_description": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "key": { + "type": "string" }, - "verbose": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "spec": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The value of a variable" + }, + "protected": { + "type": "string", + "description": "Whether the variable is protected" + }, + "masked": { + "type": "string", + "description": "Whether the variable is masked" + }, + "raw": { + "type": "string", + "description": "Whether the variable will be expanded" + }, + "variable_type": { + "type": "string", + "description": "The type of the variable. Default: env_var", + "enum": [ + "env_var", + "file" + ] + }, + "environment_scope": { + "type": "string", + "description": "The environment scope of the variable" + }, + "description": { + "type": "string", + "description": "The description of the variable" + } + }, + "description": "Update an existing variable from a group" } }, "required": [ - "group_id", - "new_project_name", - "adapterId", - "project_description", - "verbose" + "id", + "key", + "spec" ] }, "outputSchema": { "type": "object", "properties": { - "group_id": { - "title": "value", - "type": [ - "string", - "number", - "integer", - "object", - "array", - "boolean" - ], - "examples": [ - { - "third": "last" - } - ] - }, - "new_project_name": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "project_description": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "verbose": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "_id": { - "type": "string", - "pattern": "^[0-9a-f]{24}$" + "id": { + "type": "string" }, - "initiator": { + "key": { "type": "string" }, - "ReturnStatus": { - "title": "object", + "spec": { "type": "object", - "properties": {}, - "examples": [ - { - "first": { - "second": { - "third": "last" - } - } - } - ] - }, - "projectId": { - "title": "return_data", - "oneOf": [ - { - "type": "string" + "properties": { + "value": { + "type": "string", + "description": "The value of a variable" + }, + "protected": { + "type": "string", + "description": "Whether the variable is protected" }, - { - "type": "number" + "masked": { + "type": "string", + "description": "Whether the variable is masked" }, - { - "type": "object" + "raw": { + "type": "string", + "description": "Whether the variable will be expanded" }, - { - "type": "array" + "variable_type": { + "type": "string", + "description": "The type of the variable. Default: env_var", + "enum": [ + "env_var", + "file" + ] }, - { - "type": "boolean" + "environment_scope": { + "type": "string", + "description": "The environment scope of the variable" }, - { - "type": "null" + "description": { + "type": "string", + "description": "The description of the variable" } - ], - "examples": ["value"] + }, + "description": "Update an existing variable from a group" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" } } }, - "createdVersion": "5.40.5-2021.1.95.0", - "font_size": 12, - "lastUpdatedVersion": "5.55.2-2023.2.13", - "last_updated": "2025-01-23T20:44:00.340Z", - "preAutomationTime": 0, - "sla": 0, - "type": "automation", + "last_updated": "2026-08-12T20:10:34.338Z", "last_updated_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, - "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, + "lastUpdatedVersion": "4.69.69", + "uuid": "648de333-2f7a-4160-bf8b-ccfc6133f2a8", + "created": "2026-08-12T20:06:03.720Z", "created_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, "tags": [], "groups": [], - "migrationVersion": 3 + "migrationVersion": 8 } }, { - "iid": 12, - "reference": "51e63c49-361f-45e7-a171-ec3aa2e13492", + "iid": 29, + "reference": "0ee7517b-90c7-4528-92f7-d5b07505016a", "type": "workflow", - "folder": "/", + "folder": "/CI-CD Variables", "document": { - "name": "Update Project Variables", + "name": "Delete Group Variable", + "description": "Delete Group Variable", + "type": "automation", + "font_size": 12, "tasks": { "workflow_start": { "name": "workflow_start", "groups": [], "nodeLocation": { - "x": 888, - "y": 372 - } - }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "nodeLocation": { - "x": 888, - "y": 732 + "x": 264, + "y": 0 } }, - "e65f": { - "name": "getV4ProjectsId", - "canvasName": "getV4ProjectsId", - "summary": "Get Project", - "description": "Get a single project using repository path", + "a1a1": { + "name": "deleteApiV4GroupsIdVariablesKey", + "canvasName": "deleteApiV4GroupsIdVariablesKey", + "summary": "deleteApiV4GroupsIdVariablesKey", + "description": "deleteApiV4GroupsIdVariablesKey", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "gitlab", - "variables": { - "incoming": { - "id": "$var.job.projectPath", - "adapter_id": "$var.job.adapterId" - }, - "outgoing": { - "result": null - }, - "error": "$var.job.gitlabError" - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": 888, - "y": 468 - }, - "group": "Gitlab" - }, - "c191": { - "name": "query", - "canvasName": "query", - "summary": "Query Project ID", - "description": "Query project id ", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", + "displayName": "GitLab", "variables": { "incoming": { - "pass_on_null": false, - "query": "response.id", - "obj": "$var.e65f.result" + "adapter_id": "GitLab", + "id": "$var.job.id", + "key": "$var.job.key" }, "outgoing": { - "return_data": null + "response": null }, "error": "", "decorators": [] }, "groups": [], + "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": 888, - "y": 552 + "x": 264, + "y": 150 } }, - "9d94": { - "name": "forEach", - "canvasName": "forEach", - "summary": "For Each Object", - "description": "Iterate over each variable update object", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "data_array": "$var.job.variablesArray" - }, - "outgoing": { - "current_item": null - }, - "error": "", - "decorators": [] - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "scheduled": false, "nodeLocation": { - "x": 888, - "y": 636 + "x": 264, + "y": 300 } - }, - "411d": { - "name": "query", - "canvasName": "query", - "summary": "Query Variable Key", - "description": "Get key from variable", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "key", - "obj": "$var.9d94.current_item" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": 1164, - "y": 636 + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "f3e5": { - "name": "query", - "canvasName": "query", - "summary": "Query Variable Value", - "description": "Get value from variable", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "value", - "obj": "$var.9d94.current_item" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, - "groups": [], - "scheduled": false, - "nodeLocation": { - "x": 1440, - "y": 636 + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" } }, - "89ca": { - "name": "putV4ProjectsIdVariablesKey", - "canvasName": "putV4ProjectsIdVariablesKey", - "summary": "Update Project Variable", - "description": "Update an existing variable from a project", - "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", - "type": "automatic", - "displayName": "Gitlab", - "variables": { - "incoming": { - "id": "$var.c191.return_data", - "key": "$var.411d.return_data", - "body": "$var.9d94.current_item", - "adapter_id": "$var.job.adapterId" - }, - "outgoing": { - "result": null - }, - "error": "$var.job.gitlabError", - "decorators": [] + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "required": [ + "id", + "key" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "eab67da8-45d5-4be3-a104-750ef8de7474", + "created": "2026-08-12T20:06:03.758Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 30, + "reference": "eefd9a82-61d4-406c-b448-29d59316a270", + "type": "workflow", + "folder": "/CI-CD Variables", + "document": { + "name": "List Project Variables", + "description": "List Project Variables", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], - "actor": "Pronghorn", - "scheduled": false, "nodeLocation": { - "x": 1716, - "y": 636 + "x": 264, + "y": 0 } }, - "6b73": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "GitLab Error", - "description": "GitLab Error", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", + "a1a1": { + "name": "getApiV4ProjectsIdVariables", + "canvasName": "getApiV4ProjectsIdVariables", + "summary": "getApiV4ProjectsIdVariables", + "description": "getApiV4ProjectsIdVariables", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", "variables": { "incoming": { - "header": "GitLab Error", - "message": "", - "body": "$var.job.gitlabError", - "variables": "", - "btn_success": "OK", - "btn_failure": "" + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null }, - "outgoing": {}, "error": "", "decorators": [] }, - "view": "/workflow_engine/task/ViewData", "groups": [], + "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": 1176, - "y": 468 + "x": 264, + "y": 150 } }, - "998c": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "GitLab Error", - "description": "GitLab Error", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", - "variables": { - "incoming": { - "header": "GitLab Error", - "message": "", - "body": "$var.job.gitlabError", - "variables": "", - "btn_success": "OK", - "btn_failure": "" - }, - "outgoing": {}, - "error": "", - "decorators": [] - }, - "view": "/workflow_engine/task/ViewData", + "workflow_end": { + "name": "workflow_end", "groups": [], - "scheduled": false, "nodeLocation": { - "x": 1992, - "y": 636 + "x": 264, + "y": 300 } } }, "transitions": { - "390": {}, - "2558": {}, - "4046": {}, "workflow_start": { - "e65f": { + "a1a1": { "type": "standard", "state": "success" } }, - "workflow_end": {}, - "e65f": { - "c191": { + "a1a1": { + "workflow_end": { "type": "standard", "state": "success" - }, - "6b73": { - "type": "standard", - "state": "error" } }, - "c191": { - "9d94": { - "type": "standard", - "state": "success" + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" } }, - "9d94": { - "workflow_end": { - "type": "standard", - "state": "success" + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "411d": { - "type": "standard", - "state": "loop" + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" } - }, - "411d": { - "f3e5": { - "type": "standard", - "state": "success" + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "0ff4a391-93d2-4cd7-a17c-243c9a61e9ab", + "created": "2026-08-12T20:06:03.782Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 31, + "reference": "88f48e88-6bb9-4a4a-a1b2-f4fe7cd2de92", + "type": "workflow", + "folder": "/CI-CD Variables", + "document": { + "name": "Create Project Variable", + "description": "Create Project Variable", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 } }, - "f3e5": { - "89ca": { - "type": "standard", - "state": "success" + "a1a1": { + "name": "postApiV4ProjectsIdVariables", + "canvasName": "postApiV4ProjectsIdVariables", + "summary": "postApiV4ProjectsIdVariables", + "description": "postApiV4ProjectsIdVariables", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 } }, - "89ca": { - "998c": { + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { "type": "standard", - "state": "error" + "state": "success" } }, - "6b73": { + "a1a1": { "workflow_end": { "type": "standard", "state": "success" } }, - "998c": {}, - "885e": {}, - "b820": {}, - "3c2e": {}, - "3f05": {}, - "6feb": {}, - "8ecf": {}, - "d052": {}, - "a4b5": {}, - "ac63": {} + "workflow_end": {} }, "inputSchema": { "type": "object", "properties": { - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "string" }, - "variablesArray": { - "title": "data_array", - "type": "array", - "items": [ - { - "type": [ - "string", - "number", - "integer", - "object", - "array", - "boolean", - "null" + "spec": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key of a variable" + }, + "value": { + "type": "string", + "description": "The value of a variable" + }, + "protected": { + "type": "boolean", + "description": "Whether the variable is protected" + }, + "masked": { + "type": "boolean", + "description": "Whether the variable is masked" + }, + "masked_and_hidden": { + "type": "boolean", + "description": "Whether the variable is masked and hidden" + }, + "raw": { + "type": "boolean", + "description": "Whether the variable will be expanded" + }, + "variable_type": { + "type": "string", + "description": "The type of the variable. Default: env_var", + "enum": [ + "env_var", + "file" ] + }, + "environment_scope": { + "type": "string", + "description": "The environment_scope of the variable" + }, + "description": { + "type": "string", + "description": "The description of the variable" } - ] + }, + "required": [ + "key", + "value" + ], + "description": "Create a new variable in a project" } }, - "required": ["projectPath", "adapterId", "variablesArray"] + "required": [ + "id", + "spec" + ] }, "outputSchema": { "type": "object", "properties": { - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] + "id": { + "type": "string" }, - "variablesArray": { - "title": "data_array", - "type": "array", - "items": [ - { - "type": [ - "string", - "number", - "integer", - "object", - "array", - "boolean", - "null" + "spec": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key of a variable" + }, + "value": { + "type": "string", + "description": "The value of a variable" + }, + "protected": { + "type": "boolean", + "description": "Whether the variable is protected" + }, + "masked": { + "type": "boolean", + "description": "Whether the variable is masked" + }, + "masked_and_hidden": { + "type": "boolean", + "description": "Whether the variable is masked and hidden" + }, + "raw": { + "type": "boolean", + "description": "Whether the variable will be expanded" + }, + "variable_type": { + "type": "string", + "description": "The type of the variable. Default: env_var", + "enum": [ + "env_var", + "file" ] + }, + "environment_scope": { + "type": "string", + "description": "The environment_scope of the variable" + }, + "description": { + "type": "string", + "description": "The description of the variable" } - ] + }, + "required": [ + "key", + "value" + ], + "description": "Create a new variable in a project" }, "_id": { "type": "string", @@ -8710,364 +5706,426 @@ }, "initiator": { "type": "string" - }, - "gitlabError": { - "type": ["array", "boolean", "null", "number", "object", "string"] } } }, - "type": "automation", - "font_size": 12, - "last_updated": "2025-01-23T20:44:00.345Z", - "lastUpdatedVersion": "5.55.2-2023.2.13", - "createdVersion": "5.44.64-2022.1.27.0", - "preAutomationTime": 0, - "sla": 0, + "last_updated": "2026-08-12T20:10:34.338Z", "last_updated_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, - "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, + "lastUpdatedVersion": "4.69.69", + "uuid": "f4b76d93-b2ae-43ad-942a-71ef2200f3dc", + "created": "2026-08-12T20:06:03.813Z", "created_by": { - "provenance": "Okta", + "provenance": "LDAP", "username": "admin@itential", "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + "inactive": false }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, "tags": [], "groups": [], - "migrationVersion": 3 + "migrationVersion": 8 } }, { - "iid": 13, - "reference": "7bf3314b-7f03-46d4-88ba-b78341286dde", + "iid": 32, + "reference": "41e96fb5-d8ee-4222-9f6b-dded9e5b264c", "type": "workflow", - "folder": "/Push Commit to Branch", + "folder": "/CI-CD Variables", "document": { - "name": "Push Commit to Branch", + "name": "Get Project Variable", + "description": "Get Project Variable", + "type": "automation", + "font_size": 12, "tasks": { - "4228": { - "name": "getV4ProjectsIdRepositoryFiles", - "canvasName": "getV4ProjectsIdRepositoryFiles", - "summary": "Get File", - "description": "Get a file from Gitlab repository", - "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", - "type": "automatic", - "displayName": "Gitlab", - "variables": { - "incoming": { - "id": "$var.e31.return_data", - "filePath": "$var.job.filePath", - "ref": "$var.job.branchName", - "adapter_id": "$var.job.adapterId" - }, - "outgoing": { - "result": null - }, - "error": "$var.job.gitlabError", - "decorators": [] - }, - "groups": [], - "actor": "Pronghorn", - "scheduled": false, - "nodeLocation": { - "x": -2592, - "y": -348 - } - }, "workflow_start": { "name": "workflow_start", "groups": [], - "summary": "workflow_start", - "description": "workflow_start", - "nodeLocation": { - "x": -2592, - "y": -612 - } - }, - "workflow_end": { - "name": "workflow_end", - "groups": [], - "summary": "workflow_end", - "description": "workflow_end", "nodeLocation": { - "x": -2592, + "x": 264, "y": 0 } }, - "5ceb": { - "name": "getV4ProjectsId", - "canvasName": "getV4ProjectsId", - "summary": "Get Project", - "description": "Get a single project using full repository path", - "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", - "type": "automatic", - "displayName": "gitlab", - "variables": { - "incoming": { - "id": "$var.job.projectPath", - "adapter_id": "$var.job.adapterId" - }, - "outgoing": { - "result": "" - }, - "error": "$var.job.gitlabError" - }, - "actor": "Pronghorn", - "groups": [], - "nodeLocation": { - "x": -2592, - "y": -516 - }, - "group": "Gitlab" - }, - "3e98": { - "name": "postV4ProjectsIdRepositoryCommits", - "canvasName": "postV4ProjectsIdRepositoryCommits", - "summary": "Make Commit", - "description": "Commit change to gitlab", + "a1a1": { + "name": "getApiV4ProjectsIdVariablesKey", + "canvasName": "getApiV4ProjectsIdVariablesKey", + "summary": "getApiV4ProjectsIdVariablesKey", + "description": "getApiV4ProjectsIdVariablesKey", "location": "Adapter", - "locationType": "Gitlab", - "app": "Gitlab", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Gitlab", + "displayName": "GitLab", "variables": { "incoming": { - "id": "$var.e31.return_data", - "body": "$var.b397.commitPayload", - "adapter_id": "$var.job.adapterId" + "adapter_id": "GitLab", + "id": "$var.job.id", + "key": "$var.job.key" }, "outgoing": { - "result": null + "response": null }, - "error": "$var.job.gitlabError", + "error": "", "decorators": [] }, "groups": [], "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -2592, - "y": -96 + "x": 264, + "y": 150 } }, - "e31": { - "name": "query", - "canvasName": "query", - "summary": "Get Project ID", - "description": "Get Project ID", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "pass_on_null": false, - "query": "response.id", - "obj": "$var.5ceb.result" - }, - "outgoing": { - "return_data": null - }, - "error": "", - "decorators": [] - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "scheduled": false, "nodeLocation": { - "x": -2592, - "y": -432 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "a968": { - "name": "evaluation", - "canvasName": "evaluation", - "summary": "File Not Found?", - "description": "File Not Found?", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "all_true_flag": false, - "evaluation_groups": [ - { - "all_true_flag": false, - "evaluations": [ - { - "query": "response.message", - "operand_1": { - "variable": "gitlabError", - "task": "job" - }, - "operator": "==", - "operand_2": { - "variable": "404 File Not Found", - "task": "static" - } - } - ] - } - ] - }, - "outgoing": { - "return_value": null - } + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key": { + "type": "string" + } + }, + "required": [ + "id", + "key" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "374e8d05-1aa5-4f81-8845-35d850a07e19", + "created": "2026-08-12T20:06:03.852Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 33, + "reference": "cd6cdf64-7025-424a-9b81-f3bc3ac87fed", + "type": "workflow", + "folder": "/CI-CD Variables", + "document": { + "name": "Update Project Variable", + "description": "Update Project Variable", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": -2304, - "y": -348 + "x": 264, + "y": 0 } }, - "cbd": { - "name": "ViewData", - "canvasName": "ViewData", - "summary": "GitLab Error", - "description": "GitLab Error", - "location": "Application", - "app": "WorkFlowEngine", - "displayName": "Tools", - "type": "manual", + "a1a1": { + "name": "putApiV4ProjectsIdVariablesKey", + "canvasName": "putApiV4ProjectsIdVariablesKey", + "summary": "putApiV4ProjectsIdVariablesKey", + "description": "putApiV4ProjectsIdVariablesKey", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", "variables": { "incoming": { - "header": "GitLab Error", - "message": "", - "body": "$var.job.gitlabError", - "variables": {}, - "btn_success": "OK", - "btn_failure": "" + "adapter_id": "GitLab", + "id": "$var.job.id", + "key": "$var.job.key", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null }, - "outgoing": {}, "error": "", "decorators": [] }, - "view": "/workflow_engine/task/ViewData", "groups": [], + "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -2304, - "y": -96 + "x": 264, + "y": 150 } }, - "b397": { - "name": "transformation", - "canvasName": "transformation", - "summary": "Build Commit Payload", - "description": "Build commit payload for gitlab", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "tr_id": "6217b5d67393d9019373d130", - "variableMap": { - "branchName": "$var.job.branchName", - "commitMessage": "$var.job.commitMessage", - "commitAction": "$var.job.commitAction", - "filePath": "$var.job.filePath", - "fileContent": "$var.job.fileContent" - }, - "options": { - "extractOutput": true, - "validateIncoming": true, - "revertToDefaultValue": true - } - }, - "outgoing": { - "commitPayload": null - } - }, + "workflow_end": { + "name": "workflow_end", "groups": [], - "task_name": "Build Commit Payload - GitLab", - "retrySettings": null, "nodeLocation": { - "x": -2592, - "y": -180 + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" } }, - "4a46": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Commit Action Create", - "description": "Commit action variable for create", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "commitAction", - "value": "create" - }, - "outgoing": { - "value": null - } + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "groups": [], - "nodeLocation": { - "x": -2304, - "y": -264 + "key": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The value of a variable" + }, + "protected": { + "type": "boolean", + "description": "Whether the variable is protected" + }, + "masked": { + "type": "boolean", + "description": "Whether the variable is masked" + }, + "environment_scope": { + "type": "string", + "description": "The environment_scope of a variable" + }, + "raw": { + "type": "boolean", + "description": "Whether the variable will be expanded" + }, + "variable_type": { + "type": "string", + "description": "The type of the variable. Default: env_var", + "enum": [ + "env_var", + "file" + ] + }, + "filter": { + "type": "object", + "description": "Available filters: [environment_scope]. Example: filter[environment_scope]=production", + "properties": { + "environment_scope": { + "type": "string", + "description": "The environment scope of a variable" + } + } + }, + "description": { + "type": "string", + "description": "The description of the variable" + } + }, + "description": "Update an existing variable from a project" } }, - "5ba": { - "name": "newVariable", - "canvasName": "newVariable", - "summary": "Commit Action Update", - "description": "Commit action variable for udpate", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", - "type": "operation", - "displayName": "WorkFlowEngine", - "variables": { - "incoming": { - "name": "commitAction", - "value": "update" + "required": [ + "id", + "key", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The value of a variable" + }, + "protected": { + "type": "boolean", + "description": "Whether the variable is protected" + }, + "masked": { + "type": "boolean", + "description": "Whether the variable is masked" + }, + "environment_scope": { + "type": "string", + "description": "The environment_scope of a variable" + }, + "raw": { + "type": "boolean", + "description": "Whether the variable will be expanded" + }, + "variable_type": { + "type": "string", + "description": "The type of the variable. Default: env_var", + "enum": [ + "env_var", + "file" + ] + }, + "filter": { + "type": "object", + "description": "Available filters: [environment_scope]. Example: filter[environment_scope]=production", + "properties": { + "environment_scope": { + "type": "string", + "description": "The environment scope of a variable" + } + } + }, + "description": { + "type": "string", + "description": "The description of the variable" + } }, - "outgoing": { - "value": null - } + "description": "Update an existing variable from a project" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "213baa55-cefb-4493-af8c-5c801761cfcd", + "created": "2026-08-12T20:06:03.891Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 34, + "reference": "34376667-c94a-4410-8df9-18de2431264f", + "type": "workflow", + "folder": "/CI-CD Variables", + "document": { + "name": "Delete Project Variable", + "description": "Delete Project Variable", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", "groups": [], "nodeLocation": { - "x": -2592, - "y": -264 + "x": 264, + "y": 0 } }, - "b883": { - "name": "stub", - "canvasName": "stub", - "summary": "Error Path", - "description": "Error Path", - "location": "Application", - "locationType": null, - "app": "WorkFlowEngine", + "a1a1": { + "name": "deleteApiV4ProjectsIdVariablesKey", + "canvasName": "deleteApiV4ProjectsIdVariablesKey", + "summary": "deleteApiV4ProjectsIdVariablesKey", + "description": "deleteApiV4ProjectsIdVariablesKey", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", "type": "automatic", - "displayName": "Tools", + "displayName": "GitLab", "variables": { "incoming": { - "type": "success", - "delay": "", - "response": "" + "adapter_id": "GitLab", + "id": "$var.job.id", + "key": "$var.job.key" }, "outgoing": { "response": null @@ -9079,292 +6137,18274 @@ "actor": "Pronghorn", "scheduled": false, "nodeLocation": { - "x": -2016, - "y": -348 + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 } } }, "transitions": { - "4228": { - "a968": { - "type": "standard", - "state": "error" - }, - "5ba": { - "type": "standard", - "state": "success" - } - }, - "8866": {}, "workflow_start": { - "5ceb": { + "a1a1": { "type": "standard", "state": "success" } }, - "workflow_end": {}, - "5ceb": { - "e31": { - "type": "standard", - "state": "success" - }, - "b883": { - "type": "standard", - "state": "error" - } - }, - "3e98": { + "a1a1": { "workflow_end": { "type": "standard", "state": "success" - }, - "cbd": { - "type": "standard", - "state": "error" } }, - "e31": { - "4228": { - "type": "standard", - "state": "success" + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key": { + "type": "string" } }, - "a968": { - "4a46": { - "type": "standard", - "state": "success" + "required": [ + "id", + "key" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "b883": { - "type": "standard", - "state": "failure" + "key": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "0ee364a0-fc3f-4c54-8f94-28afe2ddf7e5", + "created": "2026-08-12T20:06:03.923Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 35, + "reference": "7e611ad6-f0f6-4387-af6d-af20e2952dd0", + "type": "workflow", + "folder": "/Projects", + "document": { + "name": "List Projects", + "description": "List Projects", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 } }, - "cbd": { - "workflow_end": { - "type": "standard", - "state": "success" + "a1a1": { + "name": "getApiV4Projects", + "canvasName": "getApiV4Projects", + "summary": "getApiV4Projects", + "description": "getApiV4Projects", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 } }, - "b397": { - "3e98": { + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { "type": "standard", "state": "success" } }, - "4a46": { - "b397": { + "a1a1": { + "workflow_end": { "type": "standard", "state": "success" } }, - "5ba": { - "b397": { + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "d3ef0418-10e9-440d-913d-63e21e77b400", + "created": "2026-08-12T20:06:03.953Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 36, + "reference": "d196e632-0ffa-4235-9344-00c5e54f8f2d", + "type": "workflow", + "folder": "/Projects", + "document": { + "name": "Create Project", + "description": "Create Project", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4Projects", + "canvasName": "postApiV4Projects", + "summary": "postApiV4Projects", + "description": "postApiV4Projects", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { "type": "standard", "state": "success" } }, - "b883": { - "cbd": { + "a1a1": { + "workflow_end": { "type": "standard", "state": "success" } }, - "869e": {}, - "e2cb": {} + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the project", + "example": "New Project" + }, + "path": { + "type": "string", + "description": "The path of the repository", + "example": "new_project" + }, + "default_branch": { + "type": "string", + "description": "The default branch of the project", + "example": "main" + }, + "description": { + "type": "string", + "description": "The description of the project" + }, + "build_git_strategy": { + "type": "string", + "description": "The Git strategy. Defaults to `fetch`", + "enum": [ + "fetch", + "clone" + ] + }, + "build_timeout": { + "type": "integer", + "format": "int32", + "description": "Build timeout" + }, + "auto_cancel_pending_pipelines": { + "type": "string", + "description": "Auto-cancel pending pipelines", + "enum": [ + "disabled", + "enabled" + ] + }, + "ci_config_path": { + "type": "string", + "description": "The path to CI config file. Defaults to `.gitlab-ci.yml`" + }, + "service_desk_enabled": { + "type": "boolean", + "description": "Disable or enable the service desk" + }, + "issues_enabled": { + "type": "boolean", + "description": "Flag indication if the issue tracker is enabled" + }, + "merge_requests_enabled": { + "type": "boolean", + "description": "Flag indication if merge requests are enabled" + }, + "wiki_enabled": { + "type": "boolean", + "description": "Flag indication if the wiki is enabled" + }, + "jobs_enabled": { + "type": "boolean", + "description": "Flag indication if jobs are enabled" + }, + "snippets_enabled": { + "type": "boolean", + "description": "Flag indication if snippets are enabled" + }, + "issues_access_level": { + "type": "string", + "description": "Issues access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "repository_access_level": { + "type": "string", + "description": "Repository access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "merge_requests_access_level": { + "type": "string", + "description": "Merge requests access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "forking_access_level": { + "type": "string", + "description": "Forks access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "wiki_access_level": { + "type": "string", + "description": "Wiki access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "builds_access_level": { + "type": "string", + "description": "Builds access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "snippets_access_level": { + "type": "string", + "description": "Snippets access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "pages_access_level": { + "type": "string", + "description": "Pages access level. One of `disabled`, `private`, `enabled` or `public`", + "enum": [ + "disabled", + "private", + "enabled", + "public" + ] + }, + "analytics_access_level": { + "type": "string", + "description": "Analytics access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "container_registry_access_level": { + "type": "string", + "description": "Controls visibility of the container registry. One of `disabled`, `private` or `enabled`. `private` will make the container registry accessible only to project members (reporter role and above). `enabled` will make the container registry accessible to everyone who has access to the project. `disabled` will disable the container registry", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "security_and_compliance_access_level": { + "type": "string", + "description": "Security and compliance access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "releases_access_level": { + "type": "string", + "description": "Releases access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "environments_access_level": { + "type": "string", + "description": "Environments access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "feature_flags_access_level": { + "type": "string", + "description": "Feature flags access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "infrastructure_access_level": { + "type": "string", + "description": "Infrastructure access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "monitor_access_level": { + "type": "string", + "description": "Monitor access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "model_experiments_access_level": { + "type": "string", + "description": "Model experiments access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "model_registry_access_level": { + "type": "string", + "description": "Model registry access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "emails_disabled": { + "type": "boolean", + "description": "Deprecated: Use emails_enabled instead." + }, + "emails_enabled": { + "type": "boolean", + "description": "Enable email notifications" + }, + "show_default_award_emojis": { + "type": "boolean", + "description": "Show default award emojis" + }, + "show_diff_preview_in_email": { + "type": "boolean", + "description": "Include the code diff preview in merge request notification emails" + }, + "warn_about_potentially_unwanted_characters": { + "type": "boolean", + "description": "Warn about potentially unwanted characters" + }, + "enforce_auth_checks_on_uploads": { + "type": "boolean", + "description": "Enforce auth check on uploads" + }, + "shared_runners_enabled": { + "type": "boolean", + "description": "Flag indication if shared runners are enabled for that project" + }, + "group_runners_enabled": { + "type": "boolean", + "description": "Flag indication if group runners are enabled for that project" + }, + "resolve_outdated_diff_discussions": { + "type": "boolean", + "description": "Automatically resolve merge request diff threads on lines changed with a push" + }, + "remove_source_branch_after_merge": { + "type": "boolean", + "description": "Remove the source branch by default after merge" + }, + "container_registry_enabled": { + "type": "boolean", + "description": "Deprecated: Use :container_registry_access_level instead. Flag indication if the container registry is enabled for that project" + }, + "container_expiration_policy_attributes": { + "type": "object", + "properties": { + "cadence": { + "type": "string", + "description": "Container expiration policy cadence for recurring job" + }, + "keep_n": { + "type": "integer", + "format": "int32", + "description": "Container expiration policy number of images to keep" + }, + "older_than": { + "type": "string", + "description": "Container expiration policy remove images older than value" + }, + "name_regex": { + "type": "string", + "description": "Container expiration policy regex for image removal" + }, + "name_regex_keep": { + "type": "string", + "description": "Container expiration policy regex for image retention" + }, + "enabled": { + "type": "boolean", + "description": "Flag indication if container expiration policy is enabled" + } + } + }, + "lfs_enabled": { + "type": "boolean", + "description": "Flag indication if Git LFS is enabled for that project" + }, + "visibility": { + "type": "string", + "description": "The visibility of the project.", + "enum": [ + "private", + "internal", + "public" + ] + }, + "public_builds": { + "type": "boolean", + "description": "Deprecated: Use public_jobs instead." + }, + "public_jobs": { + "type": "boolean", + "description": "Perform public builds" + }, + "request_access_enabled": { + "type": "boolean", + "description": "Allow users to request member access" + }, + "only_allow_merge_if_pipeline_succeeds": { + "type": "boolean", + "description": "Only allow to merge if builds succeed" + }, + "allow_merge_on_skipped_pipeline": { + "type": "boolean", + "description": "Allow to merge if pipeline is skipped" + }, + "only_allow_merge_if_all_discussions_are_resolved": { + "type": "boolean", + "description": "Only allow to merge if all threads are resolved" + }, + "tag_list": { + "type": "array", + "description": "Deprecated: Use :topics instead", + "items": { + "type": "string" + } + }, + "topics": { + "type": "array", + "description": "The list of topics for a project", + "items": { + "type": "string" + } + }, + "avatar": { + "type": "string", + "description": "Avatar image for project", + "format": "binary" + }, + "printing_merge_request_link_enabled": { + "type": "boolean", + "description": "Show link to create/view merge request when pushing from the command line" + }, + "merge_method": { + "type": "string", + "description": "The merge method used when merging merge requests", + "enum": [ + "ff", + "rebase_merge", + "merge" + ] + }, + "suggestion_commit_message": { + "type": "string", + "description": "The commit message used to apply merge request suggestions" + }, + "merge_commit_template": { + "type": "string", + "description": "Template used to create merge commit message" + }, + "squash_commit_template": { + "type": "string", + "description": "Template used to create squash commit message" + }, + "issue_branch_template": { + "type": "string", + "description": "Template used to create a branch from an issue" + }, + "initialize_with_readme": { + "type": "boolean", + "description": "Initialize a project with a README.md" + }, + "auto_devops_enabled": { + "type": "boolean", + "description": "Flag indication if Auto DevOps is enabled" + }, + "auto_devops_deploy_strategy": { + "type": "string", + "description": "Auto Deploy strategy", + "enum": [ + "continuous", + "manual", + "timed_incremental" + ] + }, + "autoclose_referenced_issues": { + "type": "boolean", + "description": "Flag indication if referenced issues auto-closing is enabled" + }, + "repository_storage": { + "type": "string", + "description": "Which storage shard the repository is on. Available only to admins" + }, + "packages_enabled": { + "type": "boolean", + "description": "Enable project packages feature" + }, + "squash_option": { + "type": "string", + "description": "Squash default for project. One of `never`, `always`, `default_on`, or `default_off`.", + "enum": [ + "never", + "always", + "default_on", + "default_off" + ] + }, + "mr_default_target_self": { + "type": "boolean", + "description": "Merge requests of this forked project targets itself by default" + }, + "only_allow_merge_if_all_status_checks_passed": { + "type": "boolean", + "description": "Blocks merge requests from merging unless all status checks have passed" + }, + "approvals_before_merge": { + "type": "integer", + "format": "int32", + "description": "How many approvers should approve merge request by default" + }, + "mirror": { + "type": "boolean", + "description": "Enables pull mirroring in a project" + }, + "mirror_trigger_builds": { + "type": "boolean", + "description": "Pull mirroring triggers builds" + }, + "external_authorization_classification_label": { + "type": "string", + "description": "The classification label for the project" + }, + "requirements_access_level": { + "type": "string", + "description": "Requirements feature access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "prevent_merge_without_jira_issue": { + "type": "boolean", + "description": "Require an associated issue from Jira" + }, + "repository_object_format": { + "type": "string", + "description": "The object format of the project repository", + "enum": [ + "sha1", + "sha256" + ] + }, + "use_custom_template": { + "type": "boolean", + "description": "Use custom template" + }, + "group_with_project_templates_id": { + "type": "integer", + "format": "int32", + "description": "Group ID that serves as the template source" + }, + "namespace_id": { + "type": "integer", + "format": "int32", + "description": "Namespace ID for the new project. Default to the user namespace." + }, + "import_url": { + "type": "string", + "description": "URL from which the project is imported" + }, + "template_name": { + "type": "string", + "description": "Name of template from which to create project" + }, + "template_project_id": { + "type": "integer", + "format": "int32", + "description": "Project ID of template from which to create project" + } + }, + "description": "Create new project" + } + }, + "required": [ + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the project", + "example": "New Project" + }, + "path": { + "type": "string", + "description": "The path of the repository", + "example": "new_project" + }, + "default_branch": { + "type": "string", + "description": "The default branch of the project", + "example": "main" + }, + "description": { + "type": "string", + "description": "The description of the project" + }, + "build_git_strategy": { + "type": "string", + "description": "The Git strategy. Defaults to `fetch`", + "enum": [ + "fetch", + "clone" + ] + }, + "build_timeout": { + "type": "integer", + "format": "int32", + "description": "Build timeout" + }, + "auto_cancel_pending_pipelines": { + "type": "string", + "description": "Auto-cancel pending pipelines", + "enum": [ + "disabled", + "enabled" + ] + }, + "ci_config_path": { + "type": "string", + "description": "The path to CI config file. Defaults to `.gitlab-ci.yml`" + }, + "service_desk_enabled": { + "type": "boolean", + "description": "Disable or enable the service desk" + }, + "issues_enabled": { + "type": "boolean", + "description": "Flag indication if the issue tracker is enabled" + }, + "merge_requests_enabled": { + "type": "boolean", + "description": "Flag indication if merge requests are enabled" + }, + "wiki_enabled": { + "type": "boolean", + "description": "Flag indication if the wiki is enabled" + }, + "jobs_enabled": { + "type": "boolean", + "description": "Flag indication if jobs are enabled" + }, + "snippets_enabled": { + "type": "boolean", + "description": "Flag indication if snippets are enabled" + }, + "issues_access_level": { + "type": "string", + "description": "Issues access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "repository_access_level": { + "type": "string", + "description": "Repository access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "merge_requests_access_level": { + "type": "string", + "description": "Merge requests access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "forking_access_level": { + "type": "string", + "description": "Forks access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "wiki_access_level": { + "type": "string", + "description": "Wiki access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "builds_access_level": { + "type": "string", + "description": "Builds access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "snippets_access_level": { + "type": "string", + "description": "Snippets access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "pages_access_level": { + "type": "string", + "description": "Pages access level. One of `disabled`, `private`, `enabled` or `public`", + "enum": [ + "disabled", + "private", + "enabled", + "public" + ] + }, + "analytics_access_level": { + "type": "string", + "description": "Analytics access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "container_registry_access_level": { + "type": "string", + "description": "Controls visibility of the container registry. One of `disabled`, `private` or `enabled`. `private` will make the container registry accessible only to project members (reporter role and above). `enabled` will make the container registry accessible to everyone who has access to the project. `disabled` will disable the container registry", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "security_and_compliance_access_level": { + "type": "string", + "description": "Security and compliance access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "releases_access_level": { + "type": "string", + "description": "Releases access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "environments_access_level": { + "type": "string", + "description": "Environments access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "feature_flags_access_level": { + "type": "string", + "description": "Feature flags access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "infrastructure_access_level": { + "type": "string", + "description": "Infrastructure access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "monitor_access_level": { + "type": "string", + "description": "Monitor access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "model_experiments_access_level": { + "type": "string", + "description": "Model experiments access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "model_registry_access_level": { + "type": "string", + "description": "Model registry access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "emails_disabled": { + "type": "boolean", + "description": "Deprecated: Use emails_enabled instead." + }, + "emails_enabled": { + "type": "boolean", + "description": "Enable email notifications" + }, + "show_default_award_emojis": { + "type": "boolean", + "description": "Show default award emojis" + }, + "show_diff_preview_in_email": { + "type": "boolean", + "description": "Include the code diff preview in merge request notification emails" + }, + "warn_about_potentially_unwanted_characters": { + "type": "boolean", + "description": "Warn about potentially unwanted characters" + }, + "enforce_auth_checks_on_uploads": { + "type": "boolean", + "description": "Enforce auth check on uploads" + }, + "shared_runners_enabled": { + "type": "boolean", + "description": "Flag indication if shared runners are enabled for that project" + }, + "group_runners_enabled": { + "type": "boolean", + "description": "Flag indication if group runners are enabled for that project" + }, + "resolve_outdated_diff_discussions": { + "type": "boolean", + "description": "Automatically resolve merge request diff threads on lines changed with a push" + }, + "remove_source_branch_after_merge": { + "type": "boolean", + "description": "Remove the source branch by default after merge" + }, + "container_registry_enabled": { + "type": "boolean", + "description": "Deprecated: Use :container_registry_access_level instead. Flag indication if the container registry is enabled for that project" + }, + "container_expiration_policy_attributes": { + "type": "object", + "properties": { + "cadence": { + "type": "string", + "description": "Container expiration policy cadence for recurring job" + }, + "keep_n": { + "type": "integer", + "format": "int32", + "description": "Container expiration policy number of images to keep" + }, + "older_than": { + "type": "string", + "description": "Container expiration policy remove images older than value" + }, + "name_regex": { + "type": "string", + "description": "Container expiration policy regex for image removal" + }, + "name_regex_keep": { + "type": "string", + "description": "Container expiration policy regex for image retention" + }, + "enabled": { + "type": "boolean", + "description": "Flag indication if container expiration policy is enabled" + } + } + }, + "lfs_enabled": { + "type": "boolean", + "description": "Flag indication if Git LFS is enabled for that project" + }, + "visibility": { + "type": "string", + "description": "The visibility of the project.", + "enum": [ + "private", + "internal", + "public" + ] + }, + "public_builds": { + "type": "boolean", + "description": "Deprecated: Use public_jobs instead." + }, + "public_jobs": { + "type": "boolean", + "description": "Perform public builds" + }, + "request_access_enabled": { + "type": "boolean", + "description": "Allow users to request member access" + }, + "only_allow_merge_if_pipeline_succeeds": { + "type": "boolean", + "description": "Only allow to merge if builds succeed" + }, + "allow_merge_on_skipped_pipeline": { + "type": "boolean", + "description": "Allow to merge if pipeline is skipped" + }, + "only_allow_merge_if_all_discussions_are_resolved": { + "type": "boolean", + "description": "Only allow to merge if all threads are resolved" + }, + "tag_list": { + "type": "array", + "description": "Deprecated: Use :topics instead", + "items": { + "type": "string" + } + }, + "topics": { + "type": "array", + "description": "The list of topics for a project", + "items": { + "type": "string" + } + }, + "avatar": { + "type": "string", + "description": "Avatar image for project", + "format": "binary" + }, + "printing_merge_request_link_enabled": { + "type": "boolean", + "description": "Show link to create/view merge request when pushing from the command line" + }, + "merge_method": { + "type": "string", + "description": "The merge method used when merging merge requests", + "enum": [ + "ff", + "rebase_merge", + "merge" + ] + }, + "suggestion_commit_message": { + "type": "string", + "description": "The commit message used to apply merge request suggestions" + }, + "merge_commit_template": { + "type": "string", + "description": "Template used to create merge commit message" + }, + "squash_commit_template": { + "type": "string", + "description": "Template used to create squash commit message" + }, + "issue_branch_template": { + "type": "string", + "description": "Template used to create a branch from an issue" + }, + "initialize_with_readme": { + "type": "boolean", + "description": "Initialize a project with a README.md" + }, + "auto_devops_enabled": { + "type": "boolean", + "description": "Flag indication if Auto DevOps is enabled" + }, + "auto_devops_deploy_strategy": { + "type": "string", + "description": "Auto Deploy strategy", + "enum": [ + "continuous", + "manual", + "timed_incremental" + ] + }, + "autoclose_referenced_issues": { + "type": "boolean", + "description": "Flag indication if referenced issues auto-closing is enabled" + }, + "repository_storage": { + "type": "string", + "description": "Which storage shard the repository is on. Available only to admins" + }, + "packages_enabled": { + "type": "boolean", + "description": "Enable project packages feature" + }, + "squash_option": { + "type": "string", + "description": "Squash default for project. One of `never`, `always`, `default_on`, or `default_off`.", + "enum": [ + "never", + "always", + "default_on", + "default_off" + ] + }, + "mr_default_target_self": { + "type": "boolean", + "description": "Merge requests of this forked project targets itself by default" + }, + "only_allow_merge_if_all_status_checks_passed": { + "type": "boolean", + "description": "Blocks merge requests from merging unless all status checks have passed" + }, + "approvals_before_merge": { + "type": "integer", + "format": "int32", + "description": "How many approvers should approve merge request by default" + }, + "mirror": { + "type": "boolean", + "description": "Enables pull mirroring in a project" + }, + "mirror_trigger_builds": { + "type": "boolean", + "description": "Pull mirroring triggers builds" + }, + "external_authorization_classification_label": { + "type": "string", + "description": "The classification label for the project" + }, + "requirements_access_level": { + "type": "string", + "description": "Requirements feature access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "prevent_merge_without_jira_issue": { + "type": "boolean", + "description": "Require an associated issue from Jira" + }, + "repository_object_format": { + "type": "string", + "description": "The object format of the project repository", + "enum": [ + "sha1", + "sha256" + ] + }, + "use_custom_template": { + "type": "boolean", + "description": "Use custom template" + }, + "group_with_project_templates_id": { + "type": "integer", + "format": "int32", + "description": "Group ID that serves as the template source" + }, + "namespace_id": { + "type": "integer", + "format": "int32", + "description": "Namespace ID for the new project. Default to the user namespace." + }, + "import_url": { + "type": "string", + "description": "URL from which the project is imported" + }, + "template_name": { + "type": "string", + "description": "Name of template from which to create project" + }, + "template_project_id": { + "type": "integer", + "format": "int32", + "description": "Project ID of template from which to create project" + } + }, + "description": "Create new project" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "ffe4fc91-b150-44e7-88e5-e008b1a521b5", + "created": "2026-08-12T20:06:03.990Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 37, + "reference": "6e62853a-b009-49d3-98b2-ebc4ad4e9c8b", + "type": "workflow", + "folder": "/Projects", + "document": { + "name": "Get Project", + "description": "Get Project", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsId", + "canvasName": "getApiV4ProjectsId", + "summary": "getApiV4ProjectsId", + "description": "getApiV4ProjectsId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "4f45f168-01ca-410e-ac59-0d042677f439", + "created": "2026-08-12T20:06:04.044Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 38, + "reference": "a57824c7-008b-4cba-b6f8-cbd35c5f4e27", + "type": "workflow", + "folder": "/Projects", + "document": { + "name": "Update Project", + "description": "Update Project", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "putApiV4ProjectsId", + "canvasName": "putApiV4ProjectsId", + "summary": "putApiV4ProjectsId", + "description": "putApiV4ProjectsId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the project", + "example": "project" + }, + "default_branch": { + "type": "string", + "description": "The default branch of the project", + "example": "main" + }, + "path": { + "type": "string", + "description": "The path of the repository", + "example": "group/project" + }, + "description": { + "type": "string", + "description": "The description of the project" + }, + "build_git_strategy": { + "type": "string", + "description": "The Git strategy. Defaults to `fetch`", + "enum": [ + "fetch", + "clone" + ] + }, + "build_timeout": { + "type": "integer", + "format": "int32", + "description": "Build timeout" + }, + "auto_cancel_pending_pipelines": { + "type": "string", + "description": "Auto-cancel pending pipelines", + "enum": [ + "disabled", + "enabled" + ] + }, + "ci_config_path": { + "type": "string", + "description": "The path to CI config file. Defaults to `.gitlab-ci.yml`" + }, + "service_desk_enabled": { + "type": "boolean", + "description": "Disable or enable the service desk" + }, + "issues_enabled": { + "type": "boolean", + "description": "Flag indication if the issue tracker is enabled" + }, + "merge_requests_enabled": { + "type": "boolean", + "description": "Flag indication if merge requests are enabled" + }, + "wiki_enabled": { + "type": "boolean", + "description": "Flag indication if the wiki is enabled" + }, + "jobs_enabled": { + "type": "boolean", + "description": "Flag indication if jobs are enabled" + }, + "snippets_enabled": { + "type": "boolean", + "description": "Flag indication if snippets are enabled" + }, + "issues_access_level": { + "type": "string", + "description": "Issues access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "repository_access_level": { + "type": "string", + "description": "Repository access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "merge_requests_access_level": { + "type": "string", + "description": "Merge requests access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "forking_access_level": { + "type": "string", + "description": "Forks access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "wiki_access_level": { + "type": "string", + "description": "Wiki access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "builds_access_level": { + "type": "string", + "description": "Builds access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "snippets_access_level": { + "type": "string", + "description": "Snippets access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "pages_access_level": { + "type": "string", + "description": "Pages access level. One of `disabled`, `private`, `enabled` or `public`", + "enum": [ + "disabled", + "private", + "enabled", + "public" + ] + }, + "analytics_access_level": { + "type": "string", + "description": "Analytics access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "container_registry_access_level": { + "type": "string", + "description": "Controls visibility of the container registry. One of `disabled`, `private` or `enabled`. `private` will make the container registry accessible only to project members (reporter role and above). `enabled` will make the container registry accessible to everyone who has access to the project. `disabled` will disable the container registry", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "security_and_compliance_access_level": { + "type": "string", + "description": "Security and compliance access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "releases_access_level": { + "type": "string", + "description": "Releases access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "environments_access_level": { + "type": "string", + "description": "Environments access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "feature_flags_access_level": { + "type": "string", + "description": "Feature flags access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "infrastructure_access_level": { + "type": "string", + "description": "Infrastructure access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "monitor_access_level": { + "type": "string", + "description": "Monitor access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "model_experiments_access_level": { + "type": "string", + "description": "Model experiments access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "model_registry_access_level": { + "type": "string", + "description": "Model registry access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "emails_disabled": { + "type": "boolean", + "description": "Deprecated: Use emails_enabled instead." + }, + "emails_enabled": { + "type": "boolean", + "description": "Enable email notifications" + }, + "show_default_award_emojis": { + "type": "boolean", + "description": "Show default award emojis" + }, + "show_diff_preview_in_email": { + "type": "boolean", + "description": "Include the code diff preview in merge request notification emails" + }, + "warn_about_potentially_unwanted_characters": { + "type": "boolean", + "description": "Warn about potentially unwanted characters" + }, + "enforce_auth_checks_on_uploads": { + "type": "boolean", + "description": "Enforce auth check on uploads" + }, + "shared_runners_enabled": { + "type": "boolean", + "description": "Flag indication if shared runners are enabled for that project" + }, + "group_runners_enabled": { + "type": "boolean", + "description": "Flag indication if group runners are enabled for that project" + }, + "resolve_outdated_diff_discussions": { + "type": "boolean", + "description": "Automatically resolve merge request diff threads on lines changed with a push" + }, + "remove_source_branch_after_merge": { + "type": "boolean", + "description": "Remove the source branch by default after merge" + }, + "container_registry_enabled": { + "type": "boolean", + "description": "Deprecated: Use :container_registry_access_level instead. Flag indication if the container registry is enabled for that project" + }, + "container_expiration_policy_attributes": { + "type": "object", + "properties": { + "cadence": { + "type": "string", + "description": "Container expiration policy cadence for recurring job" + }, + "keep_n": { + "type": "integer", + "format": "int32", + "description": "Container expiration policy number of images to keep" + }, + "older_than": { + "type": "string", + "description": "Container expiration policy remove images older than value" + }, + "name_regex": { + "type": "string", + "description": "Container expiration policy regex for image removal" + }, + "name_regex_keep": { + "type": "string", + "description": "Container expiration policy regex for image retention" + }, + "enabled": { + "type": "boolean", + "description": "Flag indication if container expiration policy is enabled" + } + } + }, + "lfs_enabled": { + "type": "boolean", + "description": "Flag indication if Git LFS is enabled for that project" + }, + "visibility": { + "type": "string", + "description": "The visibility of the project.", + "enum": [ + "private", + "internal", + "public" + ] + }, + "public_builds": { + "type": "boolean", + "description": "Deprecated: Use public_jobs instead." + }, + "public_jobs": { + "type": "boolean", + "description": "Perform public builds" + }, + "request_access_enabled": { + "type": "boolean", + "description": "Allow users to request member access" + }, + "only_allow_merge_if_pipeline_succeeds": { + "type": "boolean", + "description": "Only allow to merge if builds succeed" + }, + "allow_merge_on_skipped_pipeline": { + "type": "boolean", + "description": "Allow to merge if pipeline is skipped" + }, + "only_allow_merge_if_all_discussions_are_resolved": { + "type": "boolean", + "description": "Only allow to merge if all threads are resolved" + }, + "tag_list": { + "type": "array", + "description": "Deprecated: Use :topics instead", + "items": { + "type": "string" + } + }, + "topics": { + "type": "array", + "description": "The list of topics for a project", + "items": { + "type": "string" + } + }, + "avatar": { + "type": "string", + "description": "Avatar image for project", + "format": "binary" + }, + "printing_merge_request_link_enabled": { + "type": "boolean", + "description": "Show link to create/view merge request when pushing from the command line" + }, + "merge_method": { + "type": "string", + "description": "The merge method used when merging merge requests", + "enum": [ + "ff", + "rebase_merge", + "merge" + ] + }, + "suggestion_commit_message": { + "type": "string", + "description": "The commit message used to apply merge request suggestions" + }, + "merge_commit_template": { + "type": "string", + "description": "Template used to create merge commit message" + }, + "squash_commit_template": { + "type": "string", + "description": "Template used to create squash commit message" + }, + "issue_branch_template": { + "type": "string", + "description": "Template used to create a branch from an issue" + }, + "initialize_with_readme": { + "type": "boolean", + "description": "Initialize a project with a README.md" + }, + "auto_devops_enabled": { + "type": "boolean", + "description": "Flag indication if Auto DevOps is enabled" + }, + "auto_devops_deploy_strategy": { + "type": "string", + "description": "Auto Deploy strategy", + "enum": [ + "continuous", + "manual", + "timed_incremental" + ] + }, + "autoclose_referenced_issues": { + "type": "boolean", + "description": "Flag indication if referenced issues auto-closing is enabled" + }, + "repository_storage": { + "type": "string", + "description": "Which storage shard the repository is on. Available only to admins" + }, + "packages_enabled": { + "type": "boolean", + "description": "Enable project packages feature" + }, + "squash_option": { + "type": "string", + "description": "Squash default for project. One of `never`, `always`, `default_on`, or `default_off`.", + "enum": [ + "never", + "always", + "default_on", + "default_off" + ] + }, + "mr_default_target_self": { + "type": "boolean", + "description": "Merge requests of this forked project targets itself by default" + }, + "only_allow_merge_if_all_status_checks_passed": { + "type": "boolean", + "description": "Blocks merge requests from merging unless all status checks have passed" + }, + "approvals_before_merge": { + "type": "integer", + "format": "int32", + "description": "How many approvers should approve merge request by default" + }, + "mirror": { + "type": "boolean", + "description": "Enables pull mirroring in a project" + }, + "mirror_trigger_builds": { + "type": "boolean", + "description": "Pull mirroring triggers builds" + }, + "external_authorization_classification_label": { + "type": "string", + "description": "The classification label for the project" + }, + "requirements_access_level": { + "type": "string", + "description": "Requirements feature access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "prevent_merge_without_jira_issue": { + "type": "boolean", + "description": "Require an associated issue from Jira" + }, + "ci_default_git_depth": { + "type": "integer", + "format": "int32", + "description": "Default number of revisions for shallow cloning" + }, + "keep_latest_artifact": { + "type": "boolean", + "description": "Indicates if the latest artifact should be kept for this project." + }, + "ci_forward_deployment_enabled": { + "type": "boolean", + "description": "Prevent older deployment jobs that are still pending" + }, + "ci_forward_deployment_rollback_allowed": { + "type": "boolean", + "description": "Allow job retries for rollback deployments" + }, + "ci_allow_fork_pipelines_to_run_in_parent_project": { + "type": "boolean", + "description": "Allow fork merge request pipelines to run in parent project" + }, + "ci_separated_caches": { + "type": "boolean", + "description": "Enable or disable separated caches based on branch protection." + }, + "restrict_user_defined_variables": { + "type": "boolean", + "description": "Restrict ability to override variables when triggering a pipeline" + }, + "ci_pipeline_variables_minimum_override_role": { + "type": "string", + "description": "Limit ability to override CI/CD variables when triggering a pipeline to only users with at least the set minimum role", + "enum": [ + "no_one_allowed", + "developer", + "maintainer", + "owner" + ] + }, + "allow_pipeline_trigger_approve_deployment": { + "type": "boolean", + "description": "Allow pipeline triggerer to approve deployments" + }, + "mirror_user_id": { + "type": "integer", + "format": "int32", + "description": "User responsible for all the activity surrounding a pull mirror event. Can only be set by admins" + }, + "only_mirror_protected_branches": { + "type": "boolean", + "description": "Only mirror protected branches" + }, + "mirror_branch_regex": { + "type": "string", + "description": "Only mirror branches match regex" + }, + "mirror_overwrites_diverged_branches": { + "type": "boolean", + "description": "Pull mirror overwrites diverged branches" + }, + "import_url": { + "type": "string", + "description": "URL from which the project is imported" + }, + "fallback_approvals_required": { + "type": "integer", + "format": "int32", + "description": "Overall approvals required when no rule is present" + }, + "issues_template": { + "type": "string", + "description": "Default description for Issues. Description is parsed with GitLab Flavored Markdown." + }, + "merge_requests_template": { + "type": "string", + "description": "Default description for merge requests. Description is parsed with GitLab Flavored Markdown." + }, + "merge_pipelines_enabled": { + "type": "boolean", + "description": "Enable merged results pipelines." + }, + "merge_trains_enabled": { + "type": "boolean", + "description": "Enable merge trains." + }, + "merge_trains_skip_train_allowed": { + "type": "boolean", + "description": "Allow merge train merge requests to be merged without waiting for pipelines to finish." + }, + "ci_restrict_pipeline_cancellation_role": { + "type": "string", + "description": "Roles allowed to cancel pipelines and jobs." + } + }, + "description": "Update an existing project" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the project", + "example": "project" + }, + "default_branch": { + "type": "string", + "description": "The default branch of the project", + "example": "main" + }, + "path": { + "type": "string", + "description": "The path of the repository", + "example": "group/project" + }, + "description": { + "type": "string", + "description": "The description of the project" + }, + "build_git_strategy": { + "type": "string", + "description": "The Git strategy. Defaults to `fetch`", + "enum": [ + "fetch", + "clone" + ] + }, + "build_timeout": { + "type": "integer", + "format": "int32", + "description": "Build timeout" + }, + "auto_cancel_pending_pipelines": { + "type": "string", + "description": "Auto-cancel pending pipelines", + "enum": [ + "disabled", + "enabled" + ] + }, + "ci_config_path": { + "type": "string", + "description": "The path to CI config file. Defaults to `.gitlab-ci.yml`" + }, + "service_desk_enabled": { + "type": "boolean", + "description": "Disable or enable the service desk" + }, + "issues_enabled": { + "type": "boolean", + "description": "Flag indication if the issue tracker is enabled" + }, + "merge_requests_enabled": { + "type": "boolean", + "description": "Flag indication if merge requests are enabled" + }, + "wiki_enabled": { + "type": "boolean", + "description": "Flag indication if the wiki is enabled" + }, + "jobs_enabled": { + "type": "boolean", + "description": "Flag indication if jobs are enabled" + }, + "snippets_enabled": { + "type": "boolean", + "description": "Flag indication if snippets are enabled" + }, + "issues_access_level": { + "type": "string", + "description": "Issues access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "repository_access_level": { + "type": "string", + "description": "Repository access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "merge_requests_access_level": { + "type": "string", + "description": "Merge requests access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "forking_access_level": { + "type": "string", + "description": "Forks access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "wiki_access_level": { + "type": "string", + "description": "Wiki access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "builds_access_level": { + "type": "string", + "description": "Builds access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "snippets_access_level": { + "type": "string", + "description": "Snippets access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "pages_access_level": { + "type": "string", + "description": "Pages access level. One of `disabled`, `private`, `enabled` or `public`", + "enum": [ + "disabled", + "private", + "enabled", + "public" + ] + }, + "analytics_access_level": { + "type": "string", + "description": "Analytics access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "container_registry_access_level": { + "type": "string", + "description": "Controls visibility of the container registry. One of `disabled`, `private` or `enabled`. `private` will make the container registry accessible only to project members (reporter role and above). `enabled` will make the container registry accessible to everyone who has access to the project. `disabled` will disable the container registry", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "security_and_compliance_access_level": { + "type": "string", + "description": "Security and compliance access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "releases_access_level": { + "type": "string", + "description": "Releases access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "environments_access_level": { + "type": "string", + "description": "Environments access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "feature_flags_access_level": { + "type": "string", + "description": "Feature flags access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "infrastructure_access_level": { + "type": "string", + "description": "Infrastructure access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "monitor_access_level": { + "type": "string", + "description": "Monitor access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "model_experiments_access_level": { + "type": "string", + "description": "Model experiments access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "model_registry_access_level": { + "type": "string", + "description": "Model registry access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "emails_disabled": { + "type": "boolean", + "description": "Deprecated: Use emails_enabled instead." + }, + "emails_enabled": { + "type": "boolean", + "description": "Enable email notifications" + }, + "show_default_award_emojis": { + "type": "boolean", + "description": "Show default award emojis" + }, + "show_diff_preview_in_email": { + "type": "boolean", + "description": "Include the code diff preview in merge request notification emails" + }, + "warn_about_potentially_unwanted_characters": { + "type": "boolean", + "description": "Warn about potentially unwanted characters" + }, + "enforce_auth_checks_on_uploads": { + "type": "boolean", + "description": "Enforce auth check on uploads" + }, + "shared_runners_enabled": { + "type": "boolean", + "description": "Flag indication if shared runners are enabled for that project" + }, + "group_runners_enabled": { + "type": "boolean", + "description": "Flag indication if group runners are enabled for that project" + }, + "resolve_outdated_diff_discussions": { + "type": "boolean", + "description": "Automatically resolve merge request diff threads on lines changed with a push" + }, + "remove_source_branch_after_merge": { + "type": "boolean", + "description": "Remove the source branch by default after merge" + }, + "container_registry_enabled": { + "type": "boolean", + "description": "Deprecated: Use :container_registry_access_level instead. Flag indication if the container registry is enabled for that project" + }, + "container_expiration_policy_attributes": { + "type": "object", + "properties": { + "cadence": { + "type": "string", + "description": "Container expiration policy cadence for recurring job" + }, + "keep_n": { + "type": "integer", + "format": "int32", + "description": "Container expiration policy number of images to keep" + }, + "older_than": { + "type": "string", + "description": "Container expiration policy remove images older than value" + }, + "name_regex": { + "type": "string", + "description": "Container expiration policy regex for image removal" + }, + "name_regex_keep": { + "type": "string", + "description": "Container expiration policy regex for image retention" + }, + "enabled": { + "type": "boolean", + "description": "Flag indication if container expiration policy is enabled" + } + } + }, + "lfs_enabled": { + "type": "boolean", + "description": "Flag indication if Git LFS is enabled for that project" + }, + "visibility": { + "type": "string", + "description": "The visibility of the project.", + "enum": [ + "private", + "internal", + "public" + ] + }, + "public_builds": { + "type": "boolean", + "description": "Deprecated: Use public_jobs instead." + }, + "public_jobs": { + "type": "boolean", + "description": "Perform public builds" + }, + "request_access_enabled": { + "type": "boolean", + "description": "Allow users to request member access" + }, + "only_allow_merge_if_pipeline_succeeds": { + "type": "boolean", + "description": "Only allow to merge if builds succeed" + }, + "allow_merge_on_skipped_pipeline": { + "type": "boolean", + "description": "Allow to merge if pipeline is skipped" + }, + "only_allow_merge_if_all_discussions_are_resolved": { + "type": "boolean", + "description": "Only allow to merge if all threads are resolved" + }, + "tag_list": { + "type": "array", + "description": "Deprecated: Use :topics instead", + "items": { + "type": "string" + } + }, + "topics": { + "type": "array", + "description": "The list of topics for a project", + "items": { + "type": "string" + } + }, + "avatar": { + "type": "string", + "description": "Avatar image for project", + "format": "binary" + }, + "printing_merge_request_link_enabled": { + "type": "boolean", + "description": "Show link to create/view merge request when pushing from the command line" + }, + "merge_method": { + "type": "string", + "description": "The merge method used when merging merge requests", + "enum": [ + "ff", + "rebase_merge", + "merge" + ] + }, + "suggestion_commit_message": { + "type": "string", + "description": "The commit message used to apply merge request suggestions" + }, + "merge_commit_template": { + "type": "string", + "description": "Template used to create merge commit message" + }, + "squash_commit_template": { + "type": "string", + "description": "Template used to create squash commit message" + }, + "issue_branch_template": { + "type": "string", + "description": "Template used to create a branch from an issue" + }, + "initialize_with_readme": { + "type": "boolean", + "description": "Initialize a project with a README.md" + }, + "auto_devops_enabled": { + "type": "boolean", + "description": "Flag indication if Auto DevOps is enabled" + }, + "auto_devops_deploy_strategy": { + "type": "string", + "description": "Auto Deploy strategy", + "enum": [ + "continuous", + "manual", + "timed_incremental" + ] + }, + "autoclose_referenced_issues": { + "type": "boolean", + "description": "Flag indication if referenced issues auto-closing is enabled" + }, + "repository_storage": { + "type": "string", + "description": "Which storage shard the repository is on. Available only to admins" + }, + "packages_enabled": { + "type": "boolean", + "description": "Enable project packages feature" + }, + "squash_option": { + "type": "string", + "description": "Squash default for project. One of `never`, `always`, `default_on`, or `default_off`.", + "enum": [ + "never", + "always", + "default_on", + "default_off" + ] + }, + "mr_default_target_self": { + "type": "boolean", + "description": "Merge requests of this forked project targets itself by default" + }, + "only_allow_merge_if_all_status_checks_passed": { + "type": "boolean", + "description": "Blocks merge requests from merging unless all status checks have passed" + }, + "approvals_before_merge": { + "type": "integer", + "format": "int32", + "description": "How many approvers should approve merge request by default" + }, + "mirror": { + "type": "boolean", + "description": "Enables pull mirroring in a project" + }, + "mirror_trigger_builds": { + "type": "boolean", + "description": "Pull mirroring triggers builds" + }, + "external_authorization_classification_label": { + "type": "string", + "description": "The classification label for the project" + }, + "requirements_access_level": { + "type": "string", + "description": "Requirements feature access level. One of `disabled`, `private` or `enabled`", + "enum": [ + "disabled", + "private", + "enabled" + ] + }, + "prevent_merge_without_jira_issue": { + "type": "boolean", + "description": "Require an associated issue from Jira" + }, + "ci_default_git_depth": { + "type": "integer", + "format": "int32", + "description": "Default number of revisions for shallow cloning" + }, + "keep_latest_artifact": { + "type": "boolean", + "description": "Indicates if the latest artifact should be kept for this project." + }, + "ci_forward_deployment_enabled": { + "type": "boolean", + "description": "Prevent older deployment jobs that are still pending" + }, + "ci_forward_deployment_rollback_allowed": { + "type": "boolean", + "description": "Allow job retries for rollback deployments" + }, + "ci_allow_fork_pipelines_to_run_in_parent_project": { + "type": "boolean", + "description": "Allow fork merge request pipelines to run in parent project" + }, + "ci_separated_caches": { + "type": "boolean", + "description": "Enable or disable separated caches based on branch protection." + }, + "restrict_user_defined_variables": { + "type": "boolean", + "description": "Restrict ability to override variables when triggering a pipeline" + }, + "ci_pipeline_variables_minimum_override_role": { + "type": "string", + "description": "Limit ability to override CI/CD variables when triggering a pipeline to only users with at least the set minimum role", + "enum": [ + "no_one_allowed", + "developer", + "maintainer", + "owner" + ] + }, + "allow_pipeline_trigger_approve_deployment": { + "type": "boolean", + "description": "Allow pipeline triggerer to approve deployments" + }, + "mirror_user_id": { + "type": "integer", + "format": "int32", + "description": "User responsible for all the activity surrounding a pull mirror event. Can only be set by admins" + }, + "only_mirror_protected_branches": { + "type": "boolean", + "description": "Only mirror protected branches" + }, + "mirror_branch_regex": { + "type": "string", + "description": "Only mirror branches match regex" + }, + "mirror_overwrites_diverged_branches": { + "type": "boolean", + "description": "Pull mirror overwrites diverged branches" + }, + "import_url": { + "type": "string", + "description": "URL from which the project is imported" + }, + "fallback_approvals_required": { + "type": "integer", + "format": "int32", + "description": "Overall approvals required when no rule is present" + }, + "issues_template": { + "type": "string", + "description": "Default description for Issues. Description is parsed with GitLab Flavored Markdown." + }, + "merge_requests_template": { + "type": "string", + "description": "Default description for merge requests. Description is parsed with GitLab Flavored Markdown." + }, + "merge_pipelines_enabled": { + "type": "boolean", + "description": "Enable merged results pipelines." + }, + "merge_trains_enabled": { + "type": "boolean", + "description": "Enable merge trains." + }, + "merge_trains_skip_train_allowed": { + "type": "boolean", + "description": "Allow merge train merge requests to be merged without waiting for pipelines to finish." + }, + "ci_restrict_pipeline_cancellation_role": { + "type": "string", + "description": "Roles allowed to cancel pipelines and jobs." + } + }, + "description": "Update an existing project" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "b3db9512-af1c-4d38-8f86-74453e7025ec", + "created": "2026-08-12T20:06:04.104Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 39, + "reference": "b594700e-e94e-4ca6-9991-cb362e4e4dc7", + "type": "workflow", + "folder": "/Projects", + "document": { + "name": "Delete Project", + "description": "Delete Project", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsId", + "canvasName": "deleteApiV4ProjectsId", + "summary": "deleteApiV4ProjectsId", + "description": "deleteApiV4ProjectsId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "fc051748-a363-44af-b5f7-9f6314c95323", + "created": "2026-08-12T20:06:04.135Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 40, + "reference": "4d6668fc-626d-428f-b5f0-13ffcc0cbbb5", + "type": "workflow", + "folder": "/Projects", + "document": { + "name": "Archive Project", + "description": "Archive Project", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdArchive", + "canvasName": "postApiV4ProjectsIdArchive", + "summary": "postApiV4ProjectsIdArchive", + "description": "postApiV4ProjectsIdArchive", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "e4547fc0-58bd-450d-867b-7fee323c641d", + "created": "2026-08-12T20:06:04.160Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 41, + "reference": "73ed6da2-5fda-4e70-882c-f47816972c62", + "type": "workflow", + "folder": "/Projects", + "document": { + "name": "Unarchive Project", + "description": "Unarchive Project", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdUnarchive", + "canvasName": "postApiV4ProjectsIdUnarchive", + "summary": "postApiV4ProjectsIdUnarchive", + "description": "postApiV4ProjectsIdUnarchive", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "9ee3ab7d-69d2-4b32-bd46-0304678ca713", + "created": "2026-08-12T20:06:04.188Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 42, + "reference": "cd98ca4d-68dd-4244-b369-e851e0f7e8bb", + "type": "workflow", + "folder": "/Projects", + "document": { + "name": "Fork Project", + "description": "Fork Project", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdFork", + "canvasName": "postApiV4ProjectsIdFork", + "summary": "postApiV4ProjectsIdFork", + "description": "postApiV4ProjectsIdFork", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "namespace": { + "type": "string", + "description": "(deprecated) The ID or name of the namespace that the project will be forked into", + "example": "gitlab" + }, + "namespace_id": { + "type": "integer", + "format": "int32", + "description": "The ID of the namespace that the project will be forked into", + "example": 1 + }, + "namespace_path": { + "type": "string", + "description": "The path of the namespace that the project will be forked into", + "example": "new_path/gitlab" + }, + "path": { + "type": "string", + "description": "The path that will be assigned to the fork", + "example": "fork" + }, + "name": { + "type": "string", + "description": "The name that will be assigned to the fork", + "example": "Fork" + }, + "description": { + "type": "string", + "description": "The description that will be assigned to the fork", + "example": "Description" + }, + "visibility": { + "type": "string", + "description": "The visibility of the fork", + "enum": [ + "private", + "internal", + "public" + ] + }, + "mr_default_target_self": { + "type": "boolean", + "description": "Merge requests of this forked project targets itself by default" + }, + "branches": { + "type": "string", + "description": "Branches to fork" + } + }, + "description": "Fork new project for the current user or provided namespace." + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "namespace": { + "type": "string", + "description": "(deprecated) The ID or name of the namespace that the project will be forked into", + "example": "gitlab" + }, + "namespace_id": { + "type": "integer", + "format": "int32", + "description": "The ID of the namespace that the project will be forked into", + "example": 1 + }, + "namespace_path": { + "type": "string", + "description": "The path of the namespace that the project will be forked into", + "example": "new_path/gitlab" + }, + "path": { + "type": "string", + "description": "The path that will be assigned to the fork", + "example": "fork" + }, + "name": { + "type": "string", + "description": "The name that will be assigned to the fork", + "example": "Fork" + }, + "description": { + "type": "string", + "description": "The description that will be assigned to the fork", + "example": "Description" + }, + "visibility": { + "type": "string", + "description": "The visibility of the fork", + "enum": [ + "private", + "internal", + "public" + ] + }, + "mr_default_target_self": { + "type": "boolean", + "description": "Merge requests of this forked project targets itself by default" + }, + "branches": { + "type": "string", + "description": "Branches to fork" + } + }, + "description": "Fork new project for the current user or provided namespace." + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "4a916f89-e5c4-48cf-a1cd-d69aa2217b31", + "created": "2026-08-12T20:06:04.216Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 43, + "reference": "50e9c44f-cbf5-4180-a0e3-682bc45a127e", + "type": "workflow", + "folder": "/Projects", + "document": { + "name": "Delete Fork Relationship", + "description": "Delete Fork Relationship", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdFork", + "canvasName": "deleteApiV4ProjectsIdFork", + "summary": "deleteApiV4ProjectsIdFork", + "description": "deleteApiV4ProjectsIdFork", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "1bd78fbf-30e5-4a89-a757-a106b3a00d6b", + "created": "2026-08-12T20:06:04.241Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 44, + "reference": "cb026470-d36f-4a79-b67a-d961c2afd688", + "type": "workflow", + "folder": "/Projects", + "document": { + "name": "List Project Forks", + "description": "List Project Forks", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdForks", + "canvasName": "getApiV4ProjectsIdForks", + "summary": "getApiV4ProjectsIdForks", + "description": "getApiV4ProjectsIdForks", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "895c20c5-0b4e-4bdd-ba2b-618e6c505991", + "created": "2026-08-12T20:06:04.272Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 45, + "reference": "f1994fc8-f2e3-4cf7-af0e-df71aad620c8", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "List Jobs", + "description": "List Jobs", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdJobs", + "canvasName": "getApiV4ProjectsIdJobs", + "summary": "getApiV4ProjectsIdJobs", + "description": "getApiV4ProjectsIdJobs", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "871fdd61-1476-48a7-ba71-18de4a5e438b", + "created": "2026-08-12T20:06:04.298Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 46, + "reference": "62bcf059-e088-4ba1-816f-5a3a946f0d87", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Get Job", + "description": "Get Job", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdJobsJobId", + "canvasName": "getApiV4ProjectsIdJobsJobId", + "summary": "getApiV4ProjectsIdJobsJobId", + "description": "getApiV4ProjectsIdJobsJobId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "job_id": "$var.job.job_id", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "job_id": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "job_id", + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "job_id": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "c3cb886b-26cb-4328-934a-27465b056821", + "created": "2026-08-12T20:06:04.328Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 47, + "reference": "61066099-10de-4e6c-9e6f-f8a39352eb31", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Cancel Job", + "description": "Cancel Job", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdJobsJobIdCancel", + "canvasName": "postApiV4ProjectsIdJobsJobIdCancel", + "summary": "postApiV4ProjectsIdJobsJobIdCancel", + "description": "postApiV4ProjectsIdJobsJobIdCancel", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "job_id": "$var.job.job_id", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "job_id": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "job_id", + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "job_id": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "7cf1159c-03f5-4dfa-a46d-98b7b4bc7ff7", + "created": "2026-08-12T20:06:04.356Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 48, + "reference": "486712cd-a1bf-4ee5-b4df-63682e4f7b27", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Retry Job", + "description": "Retry Job", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdJobsJobIdRetry", + "canvasName": "postApiV4ProjectsIdJobsJobIdRetry", + "summary": "postApiV4ProjectsIdJobsJobIdRetry", + "description": "postApiV4ProjectsIdJobsJobIdRetry", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "job_id": "$var.job.job_id", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "job_id": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "job_id", + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "job_id": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "6a4c703c-b227-4fdf-854c-f84640308c67", + "created": "2026-08-12T20:06:04.382Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 49, + "reference": "40866439-7111-48c0-b8cb-3269e3dc04e8", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Play Job", + "description": "Play Job", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdJobsJobIdPlay", + "canvasName": "postApiV4ProjectsIdJobsJobIdPlay", + "summary": "postApiV4ProjectsIdJobsJobIdPlay", + "description": "postApiV4ProjectsIdJobsJobIdPlay", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "job_id": "$var.job.job_id", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "job_id": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "job_variables_attributes": { + "type": "array", + "description": "User defined variables that will be included when running the job", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The name of the variable", + "example": "foo" + }, + "value": { + "type": "string", + "description": "The value of the variable", + "example": "bar" + } + }, + "required": [ + "key", + "value" + ] + } + } + }, + "description": "Trigger an actionable job (manual, delayed, etc)" + } + }, + "required": [ + "job_id", + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "job_id": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "job_variables_attributes": { + "type": "array", + "description": "User defined variables that will be included when running the job", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The name of the variable", + "example": "foo" + }, + "value": { + "type": "string", + "description": "The value of the variable", + "example": "bar" + } + }, + "required": [ + "key", + "value" + ] + } + } + }, + "description": "Trigger an actionable job (manual, delayed, etc)" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "bdfb6035-6866-47c5-83ee-0b4766c88da1", + "created": "2026-08-12T20:06:04.408Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 50, + "reference": "4405e2b1-5fd7-48fd-89f1-71ce19b98a4d", + "type": "workflow", + "folder": "/Jobs", + "document": { + "name": "Get Job Trace", + "description": "Get Job Trace", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdJobsJobIdTrace", + "canvasName": "getApiV4ProjectsIdJobsJobIdTrace", + "summary": "getApiV4ProjectsIdJobsJobIdTrace", + "description": "getApiV4ProjectsIdJobsJobIdTrace", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "job_id": "$var.job.job_id", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "job_id": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "job_id", + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "job_id": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "380863d3-66cd-4cdd-a229-baacacc486bf", + "created": "2026-08-12T20:06:04.441Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 51, + "reference": "f876b9a6-98af-4ba3-a22e-d3bee79eb18c", + "type": "workflow", + "folder": "/Merge Requests", + "document": { + "name": "List Merge Requests", + "description": "List Merge Requests", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdMergeRequests", + "canvasName": "getApiV4ProjectsIdMergeRequests", + "summary": "getApiV4ProjectsIdMergeRequests", + "description": "getApiV4ProjectsIdMergeRequests", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "6e9c7e2a-f1b8-4479-bd4c-617baa3a3410", + "created": "2026-08-12T20:06:04.470Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 52, + "reference": "bdcbe042-1fb1-4b73-8e7a-4ddff910e8b7", + "type": "workflow", + "folder": "/Merge Requests", + "document": { + "name": "Create Merge Request", + "description": "Create Merge Request", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdMergeRequests", + "canvasName": "postApiV4ProjectsIdMergeRequests", + "summary": "postApiV4ProjectsIdMergeRequests", + "description": "postApiV4ProjectsIdMergeRequests", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the merge request." + }, + "source_branch": { + "type": "string", + "description": "The source branch." + }, + "target_branch": { + "type": "string", + "description": "The target branch." + }, + "target_project_id": { + "type": "integer", + "format": "int32", + "description": "The target project of the merge request defaults to the :id of the project." + }, + "assignee_id": { + "type": "integer", + "format": "int32", + "description": "Assignee user ID." + }, + "assignee_ids": { + "type": "array", + "description": "The IDs of the users to assign the merge request to, as a comma-separated list. Set to 0 or provide an empty value to unassign all assignees.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "reviewer_ids": { + "type": "array", + "description": "The IDs of the users to review the merge request, as a comma-separated list. Set to 0 or provide an empty value to unassign all reviewers.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "description": { + "type": "string", + "description": "Description of the merge request. Limited to 1,048,576 characters." + }, + "labels": { + "type": "array", + "description": "Comma-separated label names for a merge request. Set to an empty string to unassign all labels.", + "items": { + "type": "string" + } + }, + "add_labels": { + "type": "array", + "description": "Comma-separated label names to add to a merge request.", + "items": { + "type": "string" + } + }, + "remove_labels": { + "type": "array", + "description": "Comma-separated label names to remove from a merge request.", + "items": { + "type": "string" + } + }, + "milestone_id": { + "type": "integer", + "format": "int32", + "description": "The global ID of a milestone to assign the merge reques to." + }, + "remove_source_branch": { + "type": "boolean", + "description": "Flag indicating if a merge request should remove the source branch when merging." + }, + "allow_collaboration": { + "type": "boolean", + "description": "Allow commits from members who can merge to the target branch." + }, + "allow_maintainer_to_push": { + "type": "boolean", + "description": "[deprecated] See allow_collaboration" + }, + "squash": { + "type": "boolean", + "description": "Squash commits into a single commit when merging." + }, + "approvals_before_merge": { + "type": "integer", + "format": "int32", + "description": "Number of approvals required before this can be merged" + } + }, + "required": [ + "title", + "source_branch", + "target_branch" + ], + "description": "Create merge request" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the merge request." + }, + "source_branch": { + "type": "string", + "description": "The source branch." + }, + "target_branch": { + "type": "string", + "description": "The target branch." + }, + "target_project_id": { + "type": "integer", + "format": "int32", + "description": "The target project of the merge request defaults to the :id of the project." + }, + "assignee_id": { + "type": "integer", + "format": "int32", + "description": "Assignee user ID." + }, + "assignee_ids": { + "type": "array", + "description": "The IDs of the users to assign the merge request to, as a comma-separated list. Set to 0 or provide an empty value to unassign all assignees.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "reviewer_ids": { + "type": "array", + "description": "The IDs of the users to review the merge request, as a comma-separated list. Set to 0 or provide an empty value to unassign all reviewers.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "description": { + "type": "string", + "description": "Description of the merge request. Limited to 1,048,576 characters." + }, + "labels": { + "type": "array", + "description": "Comma-separated label names for a merge request. Set to an empty string to unassign all labels.", + "items": { + "type": "string" + } + }, + "add_labels": { + "type": "array", + "description": "Comma-separated label names to add to a merge request.", + "items": { + "type": "string" + } + }, + "remove_labels": { + "type": "array", + "description": "Comma-separated label names to remove from a merge request.", + "items": { + "type": "string" + } + }, + "milestone_id": { + "type": "integer", + "format": "int32", + "description": "The global ID of a milestone to assign the merge reques to." + }, + "remove_source_branch": { + "type": "boolean", + "description": "Flag indicating if a merge request should remove the source branch when merging." + }, + "allow_collaboration": { + "type": "boolean", + "description": "Allow commits from members who can merge to the target branch." + }, + "allow_maintainer_to_push": { + "type": "boolean", + "description": "[deprecated] See allow_collaboration" + }, + "squash": { + "type": "boolean", + "description": "Squash commits into a single commit when merging." + }, + "approvals_before_merge": { + "type": "integer", + "format": "int32", + "description": "Number of approvals required before this can be merged" + } + }, + "required": [ + "title", + "source_branch", + "target_branch" + ], + "description": "Create merge request" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "9a18c0b6-dffb-4154-965a-56979177d94e", + "created": "2026-08-12T20:06:04.497Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 53, + "reference": "d393622d-6d69-49d4-9a1d-864c9ceb049b", + "type": "workflow", + "folder": "/Merge Requests", + "document": { + "name": "Get Merge Request", + "description": "Get Merge Request", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdMergeRequestsMergeRequestIid", + "canvasName": "getApiV4ProjectsIdMergeRequestsMergeRequestIid", + "summary": "getApiV4ProjectsIdMergeRequestsMergeRequestIid", + "description": "getApiV4ProjectsIdMergeRequestsMergeRequestIid", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "merge_request_iid": "$var.job.merge_request_iid" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "merge_request_iid" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "2abfe5af-c617-4f3f-a395-b9bcda7002d9", + "created": "2026-08-12T20:06:04.522Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 54, + "reference": "a87a3743-4e55-4542-85f6-9e8f27bffe41", + "type": "workflow", + "folder": "/Merge Requests", + "document": { + "name": "Update Merge Request", + "description": "Update Merge Request", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "putApiV4ProjectsIdMergeRequestsMergeRequestIid", + "canvasName": "putApiV4ProjectsIdMergeRequestsMergeRequestIid", + "summary": "putApiV4ProjectsIdMergeRequestsMergeRequestIid", + "description": "putApiV4ProjectsIdMergeRequestsMergeRequestIid", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "merge_request_iid": "$var.job.merge_request_iid", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the merge request." + }, + "target_branch": { + "type": "string", + "description": "The target branch." + }, + "state_event": { + "type": "string", + "description": "New state (close/reopen).", + "enum": [ + "close", + "reopen" + ] + }, + "discussion_locked": { + "type": "boolean", + "description": "Flag indicating if the merge request\u2019s discussion is locked. If the discussion is locked only project members can add, edit or resolve comments." + }, + "assignee_id": { + "type": "integer", + "format": "int32", + "description": "Assignee user ID." + }, + "assignee_ids": { + "type": "array", + "description": "The IDs of the users to assign the merge request to, as a comma-separated list. Set to 0 or provide an empty value to unassign all assignees.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "reviewer_ids": { + "type": "array", + "description": "The IDs of the users to review the merge request, as a comma-separated list. Set to 0 or provide an empty value to unassign all reviewers.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "description": { + "type": "string", + "description": "Description of the merge request. Limited to 1,048,576 characters." + }, + "labels": { + "type": "array", + "description": "Comma-separated label names for a merge request. Set to an empty string to unassign all labels.", + "items": { + "type": "string" + } + }, + "add_labels": { + "type": "array", + "description": "Comma-separated label names to add to a merge request.", + "items": { + "type": "string" + } + }, + "remove_labels": { + "type": "array", + "description": "Comma-separated label names to remove from a merge request.", + "items": { + "type": "string" + } + }, + "milestone_id": { + "type": "integer", + "format": "int32", + "description": "The global ID of a milestone to assign the merge reques to." + }, + "remove_source_branch": { + "type": "boolean", + "description": "Flag indicating if a merge request should remove the source branch when merging." + }, + "allow_collaboration": { + "type": "boolean", + "description": "Allow commits from members who can merge to the target branch." + }, + "allow_maintainer_to_push": { + "type": "boolean", + "description": "[deprecated] See allow_collaboration" + }, + "squash": { + "type": "boolean", + "description": "Squash commits into a single commit when merging." + }, + "approvals_before_merge": { + "type": "integer", + "format": "int32", + "description": "Number of approvals required before this can be merged" + } + }, + "description": "Update merge request" + } + }, + "required": [ + "id", + "merge_request_iid", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "The title of the merge request." + }, + "target_branch": { + "type": "string", + "description": "The target branch." + }, + "state_event": { + "type": "string", + "description": "New state (close/reopen).", + "enum": [ + "close", + "reopen" + ] + }, + "discussion_locked": { + "type": "boolean", + "description": "Flag indicating if the merge request\u2019s discussion is locked. If the discussion is locked only project members can add, edit or resolve comments." + }, + "assignee_id": { + "type": "integer", + "format": "int32", + "description": "Assignee user ID." + }, + "assignee_ids": { + "type": "array", + "description": "The IDs of the users to assign the merge request to, as a comma-separated list. Set to 0 or provide an empty value to unassign all assignees.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "reviewer_ids": { + "type": "array", + "description": "The IDs of the users to review the merge request, as a comma-separated list. Set to 0 or provide an empty value to unassign all reviewers.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "description": { + "type": "string", + "description": "Description of the merge request. Limited to 1,048,576 characters." + }, + "labels": { + "type": "array", + "description": "Comma-separated label names for a merge request. Set to an empty string to unassign all labels.", + "items": { + "type": "string" + } + }, + "add_labels": { + "type": "array", + "description": "Comma-separated label names to add to a merge request.", + "items": { + "type": "string" + } + }, + "remove_labels": { + "type": "array", + "description": "Comma-separated label names to remove from a merge request.", + "items": { + "type": "string" + } + }, + "milestone_id": { + "type": "integer", + "format": "int32", + "description": "The global ID of a milestone to assign the merge reques to." + }, + "remove_source_branch": { + "type": "boolean", + "description": "Flag indicating if a merge request should remove the source branch when merging." + }, + "allow_collaboration": { + "type": "boolean", + "description": "Allow commits from members who can merge to the target branch." + }, + "allow_maintainer_to_push": { + "type": "boolean", + "description": "[deprecated] See allow_collaboration" + }, + "squash": { + "type": "boolean", + "description": "Squash commits into a single commit when merging." + }, + "approvals_before_merge": { + "type": "integer", + "format": "int32", + "description": "Number of approvals required before this can be merged" + } + }, + "description": "Update merge request" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "bc7687d3-cdaa-47fd-9b30-8b0fd7a0de6f", + "created": "2026-08-12T20:06:04.549Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 55, + "reference": "16a74db3-676b-42a5-9013-68d4ff4d8fcb", + "type": "workflow", + "folder": "/Merge Requests", + "document": { + "name": "Delete Merge Request", + "description": "Delete Merge Request", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdMergeRequestsMergeRequestIid", + "canvasName": "deleteApiV4ProjectsIdMergeRequestsMergeRequestIid", + "summary": "deleteApiV4ProjectsIdMergeRequestsMergeRequestIid", + "description": "deleteApiV4ProjectsIdMergeRequestsMergeRequestIid", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "merge_request_iid": "$var.job.merge_request_iid" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "merge_request_iid" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "66659630-1592-4fe5-957f-58cb7b24c148", + "created": "2026-08-12T20:06:04.584Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 56, + "reference": "6774ca4f-7d31-4fef-80ec-a0a485718d9f", + "type": "workflow", + "folder": "/Merge Requests", + "document": { + "name": "List Merge Request Commits", + "description": "List Merge Request Commits", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdMergeRequestsMergeRequestIidCommits", + "canvasName": "getApiV4ProjectsIdMergeRequestsMergeRequestIidCommits", + "summary": "getApiV4ProjectsIdMergeRequestsMergeRequestIidCommits", + "description": "getApiV4ProjectsIdMergeRequestsMergeRequestIidCommits", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "merge_request_iid": "$var.job.merge_request_iid" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "merge_request_iid" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "96211d78-5158-4794-986f-b30bf8b57904", + "created": "2026-08-12T20:06:04.611Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 57, + "reference": "2466fcc0-2ae3-462b-9735-8ea468b2f3f3", + "type": "workflow", + "folder": "/Merge Requests", + "document": { + "name": "Get Merge Request Diffs", + "description": "Get Merge Request Diffs", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdMergeRequestsMergeRequestIidDiffs", + "canvasName": "getApiV4ProjectsIdMergeRequestsMergeRequestIidDiffs", + "summary": "getApiV4ProjectsIdMergeRequestsMergeRequestIidDiffs", + "description": "getApiV4ProjectsIdMergeRequestsMergeRequestIidDiffs", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "merge_request_iid": "$var.job.merge_request_iid" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "merge_request_iid" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "6653652f-e84f-42dd-8f19-b4e519e8161d", + "created": "2026-08-12T20:06:04.635Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 58, + "reference": "1fd1651e-ba5a-438d-a51f-0dd812935f21", + "type": "workflow", + "folder": "/Merge Requests", + "document": { + "name": "Merge Merge Request", + "description": "Merge Merge Request", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "putApiV4ProjectsIdMergeRequestsMergeRequestIidMerge", + "canvasName": "putApiV4ProjectsIdMergeRequestsMergeRequestIidMerge", + "summary": "putApiV4ProjectsIdMergeRequestsMergeRequestIidMerge", + "description": "putApiV4ProjectsIdMergeRequestsMergeRequestIidMerge", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "merge_request_iid": "$var.job.merge_request_iid", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "merge_commit_message": { + "type": "string", + "description": "Custom merge commit message." + }, + "squash_commit_message": { + "type": "string", + "description": "Custom squash commit message." + }, + "should_remove_source_branch": { + "type": "boolean", + "description": "If `true`, removes the source branch." + }, + "merge_when_pipeline_succeeds": { + "type": "boolean", + "description": "If `true`, the merge request is merged when the pipeline succeeds." + }, + "sha": { + "type": "string", + "description": "If present, then this SHA must match the HEAD of the source branch, otherwise the merge fails." + }, + "squash": { + "type": "boolean", + "description": "If `true`, the commits are squashed into a single commit on merge." + }, + "skip_merge_train": { + "type": "boolean", + "description": "If `true` skips train restart when merging immediately in a merge train configured project." + } + }, + "description": "Merge a merge request" + } + }, + "required": [ + "id", + "merge_request_iid", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "merge_commit_message": { + "type": "string", + "description": "Custom merge commit message." + }, + "squash_commit_message": { + "type": "string", + "description": "Custom squash commit message." + }, + "should_remove_source_branch": { + "type": "boolean", + "description": "If `true`, removes the source branch." + }, + "merge_when_pipeline_succeeds": { + "type": "boolean", + "description": "If `true`, the merge request is merged when the pipeline succeeds." + }, + "sha": { + "type": "string", + "description": "If present, then this SHA must match the HEAD of the source branch, otherwise the merge fails." + }, + "squash": { + "type": "boolean", + "description": "If `true`, the commits are squashed into a single commit on merge." + }, + "skip_merge_train": { + "type": "boolean", + "description": "If `true` skips train restart when merging immediately in a merge train configured project." + } + }, + "description": "Merge a merge request" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "5c4aa4cd-2261-4ae4-97d0-f0d87b0b078e", + "created": "2026-08-12T20:06:04.668Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 59, + "reference": "1df4fefb-a606-4b9e-8c3d-00b5ec590ee7", + "type": "workflow", + "folder": "/Merge Requests", + "document": { + "name": "List Merge Request Versions", + "description": "List Merge Request Versions", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdMergeRequestsMergeRequestIidVersions", + "canvasName": "getApiV4ProjectsIdMergeRequestsMergeRequestIidVersions", + "summary": "getApiV4ProjectsIdMergeRequestsMergeRequestIidVersions", + "description": "getApiV4ProjectsIdMergeRequestsMergeRequestIidVersions", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "merge_request_iid": "$var.job.merge_request_iid" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "merge_request_iid" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "8362b19a-be20-4cd7-bb8b-2ed19bb3b2f2", + "created": "2026-08-12T20:06:04.696Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 60, + "reference": "bc2d4d40-6b2e-45a0-b30c-dcc9d2d06849", + "type": "workflow", + "folder": "/Merge Requests", + "document": { + "name": "Get Merge Request Diff Version", + "description": "Get Merge Request Diff Version", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdMergeRequestsMergeRequestIidVersionsVersionId", + "canvasName": "getApiV4ProjectsIdMergeRequestsMergeRequestIidVersionsVersionId", + "summary": "getApiV4ProjectsIdMergeRequestsMergeRequestIidVersionsVersionId", + "description": "getApiV4ProjectsIdMergeRequestsMergeRequestIidVersionsVersionId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "merge_request_iid": "$var.job.merge_request_iid", + "version_id": "$var.job.version_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + }, + "version_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "merge_request_iid", + "version_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "merge_request_iid": { + "type": "integer", + "format": "int32" + }, + "version_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "17d04843-cc6d-426e-96ce-d4b517e05b6f", + "created": "2026-08-12T20:06:04.722Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 61, + "reference": "d9877b8b-b1c9-40ca-b557-f722e8b048f5", + "type": "workflow", + "folder": "/Pipelines", + "document": { + "name": "List Pipelines", + "description": "List Pipelines", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdPipelines", + "canvasName": "getApiV4ProjectsIdPipelines", + "summary": "getApiV4ProjectsIdPipelines", + "description": "getApiV4ProjectsIdPipelines", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "0dc8996d-f0a7-4b5f-9840-e0b0a9b3a3b2", + "created": "2026-08-12T20:06:04.754Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 62, + "reference": "4d936a7e-13fa-4688-b2b5-9b02ad953e77", + "type": "workflow", + "folder": "/Pipelines", + "document": { + "name": "Get Pipeline", + "description": "Get Pipeline", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdPipelinesPipelineId", + "canvasName": "getApiV4ProjectsIdPipelinesPipelineId", + "summary": "getApiV4ProjectsIdPipelinesPipelineId", + "description": "getApiV4ProjectsIdPipelinesPipelineId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "pipeline_id": "$var.job.pipeline_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "pipeline_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "73678d47-9c81-43d2-8da3-e42266cb77c0", + "created": "2026-08-12T20:06:04.777Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 63, + "reference": "7f251aa9-edd5-45aa-bfee-cd10744fe9a1", + "type": "workflow", + "folder": "/Pipelines", + "document": { + "name": "Delete Pipeline", + "description": "Delete Pipeline", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdPipelinesPipelineId", + "canvasName": "deleteApiV4ProjectsIdPipelinesPipelineId", + "summary": "deleteApiV4ProjectsIdPipelinesPipelineId", + "description": "deleteApiV4ProjectsIdPipelinesPipelineId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "pipeline_id": "$var.job.pipeline_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "pipeline_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "3445ce76-b4cd-4e25-b51b-1d6d019db54a", + "created": "2026-08-12T20:06:04.805Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 64, + "reference": "37739049-08e5-49f6-9ad3-199be058b7aa", + "type": "workflow", + "folder": "/Pipelines", + "document": { + "name": "Trigger Pipeline", + "description": "Trigger Pipeline", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdPipeline", + "canvasName": "postApiV4ProjectsIdPipeline", + "summary": "postApiV4ProjectsIdPipeline", + "description": "postApiV4ProjectsIdPipeline", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Reference", + "example": "develop" + }, + "variables": { + "type": "array", + "description": "Array of variables available in the pipeline", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key of the variable", + "example": "UPLOAD_TO_S3" + }, + "value": { + "type": "string", + "description": "The value of the variable", + "example": "true" + }, + "variable_type": { + "type": "string", + "description": "The type of variable, must be one of env_var or file. Defaults to env_var", + "enum": [ + "env_var", + "file" + ], + "default": "env_var" + } + } + } + } + }, + "required": [ + "ref" + ], + "description": "Create a new pipeline" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "ref": { + "type": "string", + "description": "Reference", + "example": "develop" + }, + "variables": { + "type": "array", + "description": "Array of variables available in the pipeline", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key of the variable", + "example": "UPLOAD_TO_S3" + }, + "value": { + "type": "string", + "description": "The value of the variable", + "example": "true" + }, + "variable_type": { + "type": "string", + "description": "The type of variable, must be one of env_var or file. Defaults to env_var", + "enum": [ + "env_var", + "file" + ], + "default": "env_var" + } + } + } + } + }, + "required": [ + "ref" + ], + "description": "Create a new pipeline" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "cfc117b2-1569-4761-ba25-c34e7d638e16", + "created": "2026-08-12T20:06:04.830Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 65, + "reference": "ec2a93db-ea68-445c-b2ab-342c946a25a4", + "type": "workflow", + "folder": "/Pipelines", + "document": { + "name": "Get Latest Pipeline", + "description": "Get Latest Pipeline", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdPipelinesLatest", + "canvasName": "getApiV4ProjectsIdPipelinesLatest", + "summary": "getApiV4ProjectsIdPipelinesLatest", + "description": "getApiV4ProjectsIdPipelinesLatest", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "e90e20af-b48a-4421-892c-af2dbab93985", + "created": "2026-08-12T20:06:04.856Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 66, + "reference": "af39426a-79a5-4f63-8410-40ff955f8950", + "type": "workflow", + "folder": "/Pipelines", + "document": { + "name": "Cancel Pipeline", + "description": "Cancel Pipeline", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdPipelinesPipelineIdCancel", + "canvasName": "postApiV4ProjectsIdPipelinesPipelineIdCancel", + "summary": "postApiV4ProjectsIdPipelinesPipelineIdCancel", + "description": "postApiV4ProjectsIdPipelinesPipelineIdCancel", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "pipeline_id": "$var.job.pipeline_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "pipeline_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "bafc4ec9-6470-42a1-bfe7-a54c1b302d80", + "created": "2026-08-12T20:06:04.882Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 67, + "reference": "3f6f0057-6ad5-43b3-bb31-6e7ccc65655a", + "type": "workflow", + "folder": "/Pipelines", + "document": { + "name": "Retry Pipeline", + "description": "Retry Pipeline", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdPipelinesPipelineIdRetry", + "canvasName": "postApiV4ProjectsIdPipelinesPipelineIdRetry", + "summary": "postApiV4ProjectsIdPipelinesPipelineIdRetry", + "description": "postApiV4ProjectsIdPipelinesPipelineIdRetry", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "pipeline_id": "$var.job.pipeline_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "pipeline_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "3d4c5442-32dc-47d8-9a82-ebb8018f82b8", + "created": "2026-08-12T20:06:04.917Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 68, + "reference": "9338d275-0b5a-4714-ab14-1afe7b1b5eb6", + "type": "workflow", + "folder": "/Pipelines", + "document": { + "name": "List Pipeline Jobs", + "description": "List Pipeline Jobs", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdPipelinesPipelineIdJobs", + "canvasName": "getApiV4ProjectsIdPipelinesPipelineIdJobs", + "summary": "getApiV4ProjectsIdPipelinesPipelineIdJobs", + "description": "getApiV4ProjectsIdPipelinesPipelineIdJobs", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "pipeline_id": "$var.job.pipeline_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "pipeline_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "c8b704d4-4984-4f2f-9191-210e3822ab69", + "created": "2026-08-12T20:06:04.949Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 69, + "reference": "166b5c05-e441-4bce-8f7a-7ed68d7bdd2b", + "type": "workflow", + "folder": "/Pipelines", + "document": { + "name": "List Pipeline Variables", + "description": "List Pipeline Variables", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdPipelinesPipelineIdVariables", + "canvasName": "getApiV4ProjectsIdPipelinesPipelineIdVariables", + "summary": "getApiV4ProjectsIdPipelinesPipelineIdVariables", + "description": "getApiV4ProjectsIdPipelinesPipelineIdVariables", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "pipeline_id": "$var.job.pipeline_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "pipeline_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "de7efbc2-91c2-4425-95aa-f08b71a1b024", + "created": "2026-08-12T20:06:04.979Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 70, + "reference": "5df5cefd-e015-45ba-ad28-484ed205d15f", + "type": "workflow", + "folder": "/Pipeline Schedules", + "document": { + "name": "List Pipeline Schedules", + "description": "List Pipeline Schedules", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdPipelineSchedules", + "canvasName": "getApiV4ProjectsIdPipelineSchedules", + "summary": "getApiV4ProjectsIdPipelineSchedules", + "description": "getApiV4ProjectsIdPipelineSchedules", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "6e0cc89b-44d8-4572-8f1f-1ae85e48f67b", + "created": "2026-08-12T20:06:05.006Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 71, + "reference": "332f6313-45e3-4ecb-9407-6327ce5b1e1c", + "type": "workflow", + "folder": "/Pipeline Schedules", + "document": { + "name": "Create Pipeline Schedule", + "description": "Create Pipeline Schedule", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdPipelineSchedules", + "canvasName": "postApiV4ProjectsIdPipelineSchedules", + "summary": "postApiV4ProjectsIdPipelineSchedules", + "description": "postApiV4ProjectsIdPipelineSchedules", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of pipeline schedule", + "example": "Test schedule pipeline" + }, + "ref": { + "type": "string", + "description": "The branch/tag name will be triggered", + "example": "develop" + }, + "cron": { + "type": "string", + "description": "The cron", + "example": "* * * * *" + }, + "cron_timezone": { + "type": "string", + "description": "The timezone", + "default": "UTC", + "example": "Asia/Tokyo" + }, + "active": { + "type": "boolean", + "description": "The activation of pipeline schedule", + "default": true, + "example": true + } + }, + "required": [ + "description", + "ref", + "cron" + ], + "description": "Create a new pipeline schedule" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of pipeline schedule", + "example": "Test schedule pipeline" + }, + "ref": { + "type": "string", + "description": "The branch/tag name will be triggered", + "example": "develop" + }, + "cron": { + "type": "string", + "description": "The cron", + "example": "* * * * *" + }, + "cron_timezone": { + "type": "string", + "description": "The timezone", + "default": "UTC", + "example": "Asia/Tokyo" + }, + "active": { + "type": "boolean", + "description": "The activation of pipeline schedule", + "default": true, + "example": true + } + }, + "required": [ + "description", + "ref", + "cron" + ], + "description": "Create a new pipeline schedule" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "0938f663-c2af-4186-b3e2-75a855e92d89", + "created": "2026-08-12T20:06:05.033Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 72, + "reference": "0924532a-d48c-4924-ad4e-db9499c3be75", + "type": "workflow", + "folder": "/Pipeline Schedules", + "document": { + "name": "Get Pipeline Schedule", + "description": "Get Pipeline Schedule", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "canvasName": "getApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "summary": "getApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "description": "getApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "pipeline_schedule_id": "$var.job.pipeline_schedule_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_schedule_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "pipeline_schedule_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_schedule_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "2673a29f-e9b1-46a9-a12b-e72fe61adb3d", + "created": "2026-08-12T20:06:05.080Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 73, + "reference": "62e8d92d-b9da-40dc-ac17-66e94207e855", + "type": "workflow", + "folder": "/Pipeline Schedules", + "document": { + "name": "Update Pipeline Schedule", + "description": "Update Pipeline Schedule", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "canvasName": "putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "summary": "putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "description": "putApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "pipeline_schedule_id": "$var.job.pipeline_schedule_id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_schedule_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of pipeline schedule", + "example": "Test schedule pipeline" + }, + "ref": { + "type": "string", + "description": "The branch/tag name will be triggered", + "example": "develop" + }, + "cron": { + "type": "string", + "description": "The cron", + "example": "* * * * *" + }, + "cron_timezone": { + "type": "string", + "description": "The timezone", + "example": "Asia/Tokyo" + }, + "active": { + "type": "boolean", + "description": "The activation of pipeline schedule", + "example": true + } + }, + "description": "Edit a pipeline schedule" + } + }, + "required": [ + "id", + "pipeline_schedule_id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_schedule_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of pipeline schedule", + "example": "Test schedule pipeline" + }, + "ref": { + "type": "string", + "description": "The branch/tag name will be triggered", + "example": "develop" + }, + "cron": { + "type": "string", + "description": "The cron", + "example": "* * * * *" + }, + "cron_timezone": { + "type": "string", + "description": "The timezone", + "example": "Asia/Tokyo" + }, + "active": { + "type": "boolean", + "description": "The activation of pipeline schedule", + "example": true + } + }, + "description": "Edit a pipeline schedule" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "eaa760ec-6929-4372-b527-56ba7596e7ed", + "created": "2026-08-12T20:06:05.119Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 74, + "reference": "9cc33f31-c8a7-4cec-8445-c6aaa4cce47d", + "type": "workflow", + "folder": "/Pipeline Schedules", + "document": { + "name": "Delete Pipeline Schedule", + "description": "Delete Pipeline Schedule", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "canvasName": "deleteApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "summary": "deleteApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "description": "deleteApiV4ProjectsIdPipelineSchedulesPipelineScheduleId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "pipeline_schedule_id": "$var.job.pipeline_schedule_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_schedule_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "pipeline_schedule_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "pipeline_schedule_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "077ad13c-8f2e-493c-bf12-2cfcc5eba817", + "created": "2026-08-12T20:06:05.156Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 75, + "reference": "da7994af-5ac5-47ac-90b0-b5c6cf955955", + "type": "workflow", + "folder": "/Protected Branches", + "document": { + "name": "List Protected Branches", + "description": "List Protected Branches", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdProtectedBranches", + "canvasName": "getApiV4ProjectsIdProtectedBranches", + "summary": "getApiV4ProjectsIdProtectedBranches", + "description": "getApiV4ProjectsIdProtectedBranches", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "aac94aa6-ac5e-4f38-a5b4-b813a2689dde", + "created": "2026-08-12T20:06:05.200Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 76, + "reference": "caecaa7f-8da1-4213-a282-fa825ae0b8b5", + "type": "workflow", + "folder": "/Protected Branches", + "document": { + "name": "Create Protected Branch", + "description": "Create Protected Branch", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdProtectedBranches", + "canvasName": "postApiV4ProjectsIdProtectedBranches", + "summary": "postApiV4ProjectsIdProtectedBranches", + "description": "postApiV4ProjectsIdProtectedBranches", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the protected branch", + "example": "main" + }, + "push_access_level": { + "type": "integer", + "format": "int32", + "description": "Access levels allowed to push (defaults: `40`, maintainer access level)", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "merge_access_level": { + "type": "integer", + "format": "int32", + "description": "Access levels allowed to merge (defaults: `40`, maintainer access level)", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "allow_force_push": { + "type": "boolean", + "description": "Allow force push for all users with push access.", + "default": false + }, + "unprotect_access_level": { + "type": "integer", + "format": "int32", + "description": "Access levels allowed to unprotect (defaults: `40`, maintainer access level)", + "enum": [ + 30, + 40, + 60 + ] + }, + "allowed_to_push": { + "type": "array", + "description": "An array of users/groups allowed to push", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "allowed_to_merge": { + "type": "array", + "description": "An array of users/groups allowed to merge", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "allowed_to_unprotect": { + "type": "array", + "description": "An array of users/groups allowed to unprotect", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "code_owner_approval_required": { + "type": "boolean", + "description": "Prevent pushes to this branch if it matches an item in CODEOWNERS", + "default": false + } + }, + "required": [ + "name" + ], + "description": "Protect a single branch" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the protected branch", + "example": "main" + }, + "push_access_level": { + "type": "integer", + "format": "int32", + "description": "Access levels allowed to push (defaults: `40`, maintainer access level)", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "merge_access_level": { + "type": "integer", + "format": "int32", + "description": "Access levels allowed to merge (defaults: `40`, maintainer access level)", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "allow_force_push": { + "type": "boolean", + "description": "Allow force push for all users with push access.", + "default": false + }, + "unprotect_access_level": { + "type": "integer", + "format": "int32", + "description": "Access levels allowed to unprotect (defaults: `40`, maintainer access level)", + "enum": [ + 30, + 40, + 60 + ] + }, + "allowed_to_push": { + "type": "array", + "description": "An array of users/groups allowed to push", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "allowed_to_merge": { + "type": "array", + "description": "An array of users/groups allowed to merge", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "allowed_to_unprotect": { + "type": "array", + "description": "An array of users/groups allowed to unprotect", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "code_owner_approval_required": { + "type": "boolean", + "description": "Prevent pushes to this branch if it matches an item in CODEOWNERS", + "default": false + } + }, + "required": [ + "name" + ], + "description": "Protect a single branch" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "02df3518-887a-42dc-a835-87110a647af5", + "created": "2026-08-12T20:06:05.253Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 77, + "reference": "e395c352-2e0d-4857-b892-12705d05bd78", + "type": "workflow", + "folder": "/Protected Branches", + "document": { + "name": "Get Protected Branch", + "description": "Get Protected Branch", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdProtectedBranchesName", + "canvasName": "getApiV4ProjectsIdProtectedBranchesName", + "summary": "getApiV4ProjectsIdProtectedBranchesName", + "description": "getApiV4ProjectsIdProtectedBranchesName", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "name": "$var.job.name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "7ebd507f-36fe-4400-a658-7f98a63e0cad", + "created": "2026-08-12T20:06:05.300Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 78, + "reference": "f59cbadd-a616-45dc-a5ab-6d48ab99797a", + "type": "workflow", + "folder": "/Protected Branches", + "document": { + "name": "Update Protected Branch", + "description": "Update Protected Branch", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "patchApiV4ProjectsIdProtectedBranchesName", + "canvasName": "patchApiV4ProjectsIdProtectedBranchesName", + "summary": "patchApiV4ProjectsIdProtectedBranchesName", + "description": "patchApiV4ProjectsIdProtectedBranchesName", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "name": "$var.job.name", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "allow_force_push": { + "type": "boolean", + "description": "Allow force push for all users with push access." + }, + "unprotect_access_level": { + "type": "integer", + "format": "int32", + "description": "Access levels allowed to unprotect (defaults: `40`, maintainer access level)", + "enum": [ + 30, + 40, + 60 + ] + }, + "allowed_to_push": { + "type": "array", + "description": "An array of users/groups allowed to push", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "allowed_to_merge": { + "type": "array", + "description": "An array of users/groups allowed to merge", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "allowed_to_unprotect": { + "type": "array", + "description": "An array of users/groups allowed to unprotect", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "code_owner_approval_required": { + "type": "boolean", + "description": "Prevent pushes to this branch if it matches an item in CODEOWNERS", + "default": false + } + }, + "description": "Update a protected branch" + } + }, + "required": [ + "id", + "name", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "allow_force_push": { + "type": "boolean", + "description": "Allow force push for all users with push access." + }, + "unprotect_access_level": { + "type": "integer", + "format": "int32", + "description": "Access levels allowed to unprotect (defaults: `40`, maintainer access level)", + "enum": [ + 30, + 40, + 60 + ] + }, + "allowed_to_push": { + "type": "array", + "description": "An array of users/groups allowed to push", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "allowed_to_merge": { + "type": "array", + "description": "An array of users/groups allowed to merge", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "allowed_to_unprotect": { + "type": "array", + "description": "An array of users/groups allowed to unprotect", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60 + ] + }, + "user_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "group_id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "id": { + "type": "integer", + "format": "int32", + "example": 1 + }, + "_destroy": { + "type": "boolean", + "description": "Delete the object when true" + } + } + } + }, + "code_owner_approval_required": { + "type": "boolean", + "description": "Prevent pushes to this branch if it matches an item in CODEOWNERS", + "default": false + } + }, + "description": "Update a protected branch" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "280bf259-7236-475e-99b8-501dbce41813", + "created": "2026-08-12T20:06:05.341Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 79, + "reference": "e869b379-966f-4c67-b60c-e28ff06b19af", + "type": "workflow", + "folder": "/Protected Branches", + "document": { + "name": "Delete Protected Branch", + "description": "Delete Protected Branch", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdProtectedBranchesName", + "canvasName": "deleteApiV4ProjectsIdProtectedBranchesName", + "summary": "deleteApiV4ProjectsIdProtectedBranchesName", + "description": "deleteApiV4ProjectsIdProtectedBranchesName", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "name": "$var.job.name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "2e86012d-d080-4a43-a58a-632894280e2f", + "created": "2026-08-12T20:06:05.379Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 80, + "reference": "86c55071-d8ec-4b6c-be3a-583c6b392699", + "type": "workflow", + "folder": "/Tags", + "document": { + "name": "List Tags", + "description": "List Tags", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryTags", + "canvasName": "getApiV4ProjectsIdRepositoryTags", + "summary": "getApiV4ProjectsIdRepositoryTags", + "description": "getApiV4ProjectsIdRepositoryTags", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "6f913d99-1c1f-4f87-aa31-f36dbb6b8824", + "created": "2026-08-12T20:06:05.479Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 81, + "reference": "7ec3de40-9d90-412a-9ea3-cac7edd75cb8", + "type": "workflow", + "folder": "/Tags", + "document": { + "name": "Create Tag", + "description": "Create Tag", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdRepositoryTags", + "canvasName": "postApiV4ProjectsIdRepositoryTags", + "summary": "postApiV4ProjectsIdRepositoryTags", + "description": "postApiV4ProjectsIdRepositoryTags", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "tag_name": { + "type": "string", + "description": "The name of the tag", + "example": "v.1.0.0" + }, + "ref": { + "type": "string", + "description": "The commit sha or branch name", + "example": "2695effb5807a22ff3d138d593fd856244e155e7" + }, + "message": { + "type": "string", + "description": "Specifying a message creates an annotated tag", + "example": "Release 1.0.0" + } + }, + "required": [ + "tag_name", + "ref" + ], + "description": "Create a new repository tag" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "tag_name": { + "type": "string", + "description": "The name of the tag", + "example": "v.1.0.0" + }, + "ref": { + "type": "string", + "description": "The commit sha or branch name", + "example": "2695effb5807a22ff3d138d593fd856244e155e7" + }, + "message": { + "type": "string", + "description": "Specifying a message creates an annotated tag", + "example": "Release 1.0.0" + } + }, + "required": [ + "tag_name", + "ref" + ], + "description": "Create a new repository tag" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "ac010287-43eb-425f-ab0f-9e31bb3dcc13", + "created": "2026-08-12T20:06:05.535Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 82, + "reference": "5a3c2ceb-1a73-4b80-9c0a-c33fcc7d1b67", + "type": "workflow", + "folder": "/Tags", + "document": { + "name": "Get Tag", + "description": "Get Tag", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryTagsTagName", + "canvasName": "getApiV4ProjectsIdRepositoryTagsTagName", + "summary": "getApiV4ProjectsIdRepositoryTagsTagName", + "description": "getApiV4ProjectsIdRepositoryTagsTagName", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "tag_name": "$var.job.tag_name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tag_name": { + "type": "string" + } + }, + "required": [ + "id", + "tag_name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tag_name": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "7b255fe0-70cf-4257-bf61-5b66c6ef1fbb", + "created": "2026-08-12T20:06:05.587Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 83, + "reference": "0b27ce78-3503-4d51-8552-2248f0c030c1", + "type": "workflow", + "folder": "/Tags", + "document": { + "name": "Delete Tag", + "description": "Delete Tag", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdRepositoryTagsTagName", + "canvasName": "deleteApiV4ProjectsIdRepositoryTagsTagName", + "summary": "deleteApiV4ProjectsIdRepositoryTagsTagName", + "description": "deleteApiV4ProjectsIdRepositoryTagsTagName", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "tag_name": "$var.job.tag_name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tag_name": { + "type": "string" + } + }, + "required": [ + "id", + "tag_name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tag_name": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "edd637f4-959e-4f5e-b7ee-6f181d2f673a", + "created": "2026-08-12T20:06:05.645Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 84, + "reference": "72c2b3bf-464f-4fca-860e-48fdb6c640e6", + "type": "workflow", + "folder": "/Tags", + "document": { + "name": "List Protected Tags", + "description": "List Protected Tags", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdProtectedTags", + "canvasName": "getApiV4ProjectsIdProtectedTags", + "summary": "getApiV4ProjectsIdProtectedTags", + "description": "getApiV4ProjectsIdProtectedTags", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "826edb57-69fe-41c7-8220-58f5b4f197a0", + "created": "2026-08-12T20:06:05.693Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 85, + "reference": "1e29da9c-e997-4fe0-857c-c91a45087975", + "type": "workflow", + "folder": "/Tags", + "document": { + "name": "Create Protected Tag", + "description": "Create Protected Tag", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdProtectedTags", + "canvasName": "postApiV4ProjectsIdProtectedTags", + "summary": "postApiV4ProjectsIdProtectedTags", + "description": "postApiV4ProjectsIdProtectedTags", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the protected tag", + "example": "release-1-0" + }, + "create_access_level": { + "type": "integer", + "format": "int32", + "description": "Access levels allowed to create (defaults: `40`, maintainer access level)", + "enum": [ + 30, + 40, + 60, + 0 + ], + "example": 30 + }, + "allowed_to_create": { + "type": "array", + "description": "An array of users/groups allowed to create", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "user_id": { + "type": "integer", + "format": "int32" + }, + "group_id": { + "type": "integer", + "format": "int32" + } + } + } + } + }, + "required": [ + "name" + ], + "description": "Protect a single tag or wildcard" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the protected tag", + "example": "release-1-0" + }, + "create_access_level": { + "type": "integer", + "format": "int32", + "description": "Access levels allowed to create (defaults: `40`, maintainer access level)", + "enum": [ + 30, + 40, + 60, + 0 + ], + "example": 30 + }, + "allowed_to_create": { + "type": "array", + "description": "An array of users/groups allowed to create", + "items": { + "type": "object", + "properties": { + "access_level": { + "type": "integer", + "format": "int32", + "enum": [ + 30, + 40, + 60, + 0 + ] + }, + "user_id": { + "type": "integer", + "format": "int32" + }, + "group_id": { + "type": "integer", + "format": "int32" + } + } + } + } + }, + "required": [ + "name" + ], + "description": "Protect a single tag or wildcard" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "68943f6e-de2c-45a2-9913-20b714fe8200", + "created": "2026-08-12T20:06:05.728Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 86, + "reference": "7cd2e378-5b44-4512-8cfb-614cae28b502", + "type": "workflow", + "folder": "/Tags", + "document": { + "name": "Get Protected Tag", + "description": "Get Protected Tag", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdProtectedTagsName", + "canvasName": "getApiV4ProjectsIdProtectedTagsName", + "summary": "getApiV4ProjectsIdProtectedTagsName", + "description": "getApiV4ProjectsIdProtectedTagsName", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "name": "$var.job.name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "8368b3ea-04c5-4fc6-bff1-e63c87acc99f", + "created": "2026-08-12T20:06:05.772Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 87, + "reference": "92d91883-9f3a-4fa7-b7c1-7a4386dab555", + "type": "workflow", + "folder": "/Tags", + "document": { + "name": "Delete Protected Tag", + "description": "Delete Protected Tag", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdProtectedTagsName", + "canvasName": "deleteApiV4ProjectsIdProtectedTagsName", + "summary": "deleteApiV4ProjectsIdProtectedTagsName", + "description": "deleteApiV4ProjectsIdProtectedTagsName", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "name": "$var.job.name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "id", + "name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "5d618b7b-09a9-475a-8f86-9b46cfd9493d", + "created": "2026-08-12T20:06:05.815Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 88, + "reference": "c827d9fc-c8b6-419b-85f9-04fcaf3b1275", + "type": "workflow", + "folder": "/Releases", + "document": { + "name": "List Releases", + "description": "List Releases", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdReleases", + "canvasName": "getApiV4ProjectsIdReleases", + "summary": "getApiV4ProjectsIdReleases", + "description": "getApiV4ProjectsIdReleases", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "4506edba-c798-4154-ac99-a74c0ed10eb4", + "created": "2026-08-12T20:06:05.859Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 89, + "reference": "ef8751ba-003d-4dbd-ae51-45f4d743d960", + "type": "workflow", + "folder": "/Releases", + "document": { + "name": "Create Release", + "description": "Create Release", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdReleases", + "canvasName": "postApiV4ProjectsIdReleases", + "summary": "postApiV4ProjectsIdReleases", + "description": "postApiV4ProjectsIdReleases", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "tag_name": { + "type": "string", + "description": "The tag where the release is created from" + }, + "tag_message": { + "type": "string", + "description": "Message to use if creating a new annotated tag" + }, + "name": { + "type": "string", + "description": "The release name" + }, + "description": { + "type": "string", + "description": "The description of the release. You can use Markdown" + }, + "ref": { + "type": "string", + "description": "If a tag specified in `tag_name` doesn't exist, the release is created from `ref` and tagged with `tag_name`. It can be a commit SHA, another tag name, or a branch name." + }, + "assets": { + "type": "object", + "properties": { + "links": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the link. Link names must be unique within the release" + }, + "url": { + "type": "string", + "description": "The URL of the link. Link URLs must be unique within the release" + }, + "direct_asset_path": { + "type": "string", + "description": "Optional path for a direct asset link" + }, + "filepath": { + "type": "string", + "description": "Deprecated: optional path for a direct asset link" + }, + "link_type": { + "type": "string", + "description": "The type of the link: `other`, `runbook`, `image`, `package`. Defaults to `other`" + } + }, + "required": [ + "name", + "url" + ] + } + } + } + }, + "milestones": { + "type": "array", + "description": "The title of each milestone the release is associated with. GitLab Premium customers can specify group milestones. Cannot be combined with `milestone_ids` parameter.", + "items": { + "type": "string" + } + }, + "milestone_ids": { + "type": "string", + "description": "The ID of each milestone the release is associated with. GitLab Premium customers can specify group milestones. Cannot be combined with `milestones` parameter." + }, + "released_at": { + "type": "string", + "format": "date-time", + "description": "Date and time for the release. Defaults to the current time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). Only provide this field if creating an upcoming or historical release." + }, + "legacy_catalog_publish": { + "type": "boolean", + "description": "If true, the release will be published to the CI catalog. This parameter is for internal use only and will be removed in a future release. If the feature flag ci_release_cli_catalog_publish_option is disabled, this parameter will be ignored and the release will published to the CI catalog as it was before this parameter was introduced." + } + }, + "required": [ + "tag_name" + ], + "description": "Create a release" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "tag_name": { + "type": "string", + "description": "The tag where the release is created from" + }, + "tag_message": { + "type": "string", + "description": "Message to use if creating a new annotated tag" + }, + "name": { + "type": "string", + "description": "The release name" + }, + "description": { + "type": "string", + "description": "The description of the release. You can use Markdown" + }, + "ref": { + "type": "string", + "description": "If a tag specified in `tag_name` doesn't exist, the release is created from `ref` and tagged with `tag_name`. It can be a commit SHA, another tag name, or a branch name." + }, + "assets": { + "type": "object", + "properties": { + "links": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the link. Link names must be unique within the release" + }, + "url": { + "type": "string", + "description": "The URL of the link. Link URLs must be unique within the release" + }, + "direct_asset_path": { + "type": "string", + "description": "Optional path for a direct asset link" + }, + "filepath": { + "type": "string", + "description": "Deprecated: optional path for a direct asset link" + }, + "link_type": { + "type": "string", + "description": "The type of the link: `other`, `runbook`, `image`, `package`. Defaults to `other`" + } + }, + "required": [ + "name", + "url" + ] + } + } + } + }, + "milestones": { + "type": "array", + "description": "The title of each milestone the release is associated with. GitLab Premium customers can specify group milestones. Cannot be combined with `milestone_ids` parameter.", + "items": { + "type": "string" + } + }, + "milestone_ids": { + "type": "string", + "description": "The ID of each milestone the release is associated with. GitLab Premium customers can specify group milestones. Cannot be combined with `milestones` parameter." + }, + "released_at": { + "type": "string", + "format": "date-time", + "description": "Date and time for the release. Defaults to the current time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). Only provide this field if creating an upcoming or historical release." + }, + "legacy_catalog_publish": { + "type": "boolean", + "description": "If true, the release will be published to the CI catalog. This parameter is for internal use only and will be removed in a future release. If the feature flag ci_release_cli_catalog_publish_option is disabled, this parameter will be ignored and the release will published to the CI catalog as it was before this parameter was introduced." + } + }, + "required": [ + "tag_name" + ], + "description": "Create a release" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "7a718191-e972-4aa0-9b0f-94177986e4e8", + "created": "2026-08-12T20:06:05.897Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 90, + "reference": "d65ede94-88d1-45d8-8a54-9643e2a0f46a", + "type": "workflow", + "folder": "/Releases", + "document": { + "name": "Get Release", + "description": "Get Release", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdReleasesTagName", + "canvasName": "getApiV4ProjectsIdReleasesTagName", + "summary": "getApiV4ProjectsIdReleasesTagName", + "description": "getApiV4ProjectsIdReleasesTagName", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "tag_name": "$var.job.tag_name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tag_name": { + "type": "string" + } + }, + "required": [ + "id", + "tag_name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tag_name": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "4d44d0b0-2a4f-4de9-8c48-1f7fc978a472", + "created": "2026-08-12T20:06:05.938Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 91, + "reference": "7b0edd46-c7fe-4073-8366-f8956d5d17e2", + "type": "workflow", + "folder": "/Releases", + "document": { + "name": "Update Release", + "description": "Update Release", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "putApiV4ProjectsIdReleasesTagName", + "canvasName": "putApiV4ProjectsIdReleasesTagName", + "summary": "putApiV4ProjectsIdReleasesTagName", + "description": "putApiV4ProjectsIdReleasesTagName", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "tag_name": "$var.job.tag_name", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tag_name": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The release name" + }, + "description": { + "type": "string", + "description": "The description of the release. You can use Markdown" + }, + "released_at": { + "type": "string", + "format": "date-time", + "description": "The date when the release is/was ready. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`)" + }, + "milestones": { + "type": "array", + "description": "The title of each milestone to associate with the release. GitLab Premium customers can specify group milestones. Cannot be combined with `milestone_ids` parameter. To remove all milestones from the release, specify `[]`", + "items": { + "type": "string" + } + }, + "milestone_ids": { + "type": "string", + "description": "The ID of each milestone the release is associated with. GitLab Premium customers can specify group milestones. Cannot be combined with `milestones` parameter. To remove all milestones from the release, specify `[]`" + } + }, + "description": "Update a release" + } + }, + "required": [ + "id", + "tag_name", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tag_name": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The release name" + }, + "description": { + "type": "string", + "description": "The description of the release. You can use Markdown" + }, + "released_at": { + "type": "string", + "format": "date-time", + "description": "The date when the release is/was ready. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`)" + }, + "milestones": { + "type": "array", + "description": "The title of each milestone to associate with the release. GitLab Premium customers can specify group milestones. Cannot be combined with `milestone_ids` parameter. To remove all milestones from the release, specify `[]`", + "items": { + "type": "string" + } + }, + "milestone_ids": { + "type": "string", + "description": "The ID of each milestone the release is associated with. GitLab Premium customers can specify group milestones. Cannot be combined with `milestones` parameter. To remove all milestones from the release, specify `[]`" + } + }, + "description": "Update a release" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "2b1938e5-3f03-47c9-b7eb-2fcf7138935d", + "created": "2026-08-12T20:06:05.975Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 92, + "reference": "6c30ebfd-3fd3-49b3-ade0-27c92172a3d8", + "type": "workflow", + "folder": "/Releases", + "document": { + "name": "Delete Release", + "description": "Delete Release", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdReleasesTagName", + "canvasName": "deleteApiV4ProjectsIdReleasesTagName", + "summary": "deleteApiV4ProjectsIdReleasesTagName", + "description": "deleteApiV4ProjectsIdReleasesTagName", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "tag_name": "$var.job.tag_name" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tag_name": { + "type": "string" + } + }, + "required": [ + "id", + "tag_name" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "tag_name": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "777ccded-ad08-44ed-9fbc-2c5afa320256", + "created": "2026-08-12T20:06:06.016Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 93, + "reference": "91b044b6-3ce3-45b3-b553-a5b681f68495", + "type": "workflow", + "folder": "/Environments", + "document": { + "name": "List Environments", + "description": "List Environments", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdEnvironments", + "canvasName": "getApiV4ProjectsIdEnvironments", + "summary": "getApiV4ProjectsIdEnvironments", + "description": "getApiV4ProjectsIdEnvironments", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "2fdcb909-fcaf-46be-8737-35ae44245e60", + "created": "2026-08-12T20:06:06.049Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 94, + "reference": "f461947f-3eec-4b4b-a9c7-d4a12c999db9", + "type": "workflow", + "folder": "/Environments", + "document": { + "name": "Create Environment", + "description": "Create Environment", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdEnvironments", + "canvasName": "postApiV4ProjectsIdEnvironments", + "summary": "postApiV4ProjectsIdEnvironments", + "description": "postApiV4ProjectsIdEnvironments", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the environment" + }, + "external_url": { + "type": "string", + "description": "Place to link to for this environment" + }, + "tier": { + "type": "string", + "description": "The tier of the new environment. Allowed values are `production`, `staging`, `testing`, `development`, and `other`", + "enum": [ + "production", + "staging", + "testing", + "development", + "other" + ] + } + }, + "required": [ + "name" + ], + "description": "Create a new environment" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the environment" + }, + "external_url": { + "type": "string", + "description": "Place to link to for this environment" + }, + "tier": { + "type": "string", + "description": "The tier of the new environment. Allowed values are `production`, `staging`, `testing`, `development`, and `other`", + "enum": [ + "production", + "staging", + "testing", + "development", + "other" + ] + } + }, + "required": [ + "name" + ], + "description": "Create a new environment" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "bde18d2c-5090-44a8-b23e-1ddf9cdca726", + "created": "2026-08-12T20:06:06.083Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 95, + "reference": "355e1d74-5178-40e9-858c-e9b426cb9a13", + "type": "workflow", + "folder": "/Environments", + "document": { + "name": "Get Environment", + "description": "Get Environment", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdEnvironmentsEnvironmentId", + "canvasName": "getApiV4ProjectsIdEnvironmentsEnvironmentId", + "summary": "getApiV4ProjectsIdEnvironmentsEnvironmentId", + "description": "getApiV4ProjectsIdEnvironmentsEnvironmentId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "environment_id": "$var.job.environment_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "environment_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "environment_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "environment_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "8072dc1c-41f4-482e-a8fd-dff0bfca7e1b", + "created": "2026-08-12T20:06:06.120Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 96, + "reference": "5e8c2156-d0f0-47fb-b4cd-889b168d5527", + "type": "workflow", + "folder": "/Environments", + "document": { + "name": "Update Environment", + "description": "Update Environment", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "putApiV4ProjectsIdEnvironmentsEnvironmentId", + "canvasName": "putApiV4ProjectsIdEnvironmentsEnvironmentId", + "summary": "putApiV4ProjectsIdEnvironmentsEnvironmentId", + "description": "putApiV4ProjectsIdEnvironmentsEnvironmentId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "environment_id": "$var.job.environment_id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "environment_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "external_url": { + "type": "string", + "description": "The new URL on which this deployment is viewable" + }, + "tier": { + "type": "string", + "description": "The tier of the new environment. Allowed values are `production`, `staging`, `testing`, `development`, and `other`", + "enum": [ + "production", + "staging", + "testing", + "development", + "other" + ] + } + }, + "description": "Update an existing environment" + } + }, + "required": [ + "id", + "environment_id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "environment_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "external_url": { + "type": "string", + "description": "The new URL on which this deployment is viewable" + }, + "tier": { + "type": "string", + "description": "The tier of the new environment. Allowed values are `production`, `staging`, `testing`, `development`, and `other`", + "enum": [ + "production", + "staging", + "testing", + "development", + "other" + ] + } + }, + "description": "Update an existing environment" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "eee21f37-9228-4b70-b929-5d7f577f2807", + "created": "2026-08-12T20:06:06.156Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 97, + "reference": "6e591c16-d42c-459d-a7b6-171854e55c36", + "type": "workflow", + "folder": "/Environments", + "document": { + "name": "Delete Environment", + "description": "Delete Environment", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdEnvironmentsEnvironmentId", + "canvasName": "deleteApiV4ProjectsIdEnvironmentsEnvironmentId", + "summary": "deleteApiV4ProjectsIdEnvironmentsEnvironmentId", + "description": "deleteApiV4ProjectsIdEnvironmentsEnvironmentId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "environment_id": "$var.job.environment_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "environment_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "environment_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "environment_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "9242a4fb-b8a9-4bcc-b539-fc782d0a8070", + "created": "2026-08-12T20:06:06.188Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 98, + "reference": "fdfab3f5-ab5a-40fd-b70e-1ce4965b8d22", + "type": "workflow", + "folder": "/Environments", + "document": { + "name": "Stop Environment", + "description": "Stop Environment", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdEnvironmentsEnvironmentIdStop", + "canvasName": "postApiV4ProjectsIdEnvironmentsEnvironmentIdStop", + "summary": "postApiV4ProjectsIdEnvironmentsEnvironmentIdStop", + "description": "postApiV4ProjectsIdEnvironmentsEnvironmentIdStop", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "environment_id": "$var.job.environment_id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "environment_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "force": { + "type": "boolean", + "description": "Force environment to stop without executing `on_stop` actions", + "default": false + } + }, + "description": "Stop an environment" + } + }, + "required": [ + "id", + "environment_id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "environment_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "force": { + "type": "boolean", + "description": "Force environment to stop without executing `on_stop` actions", + "default": false + } + }, + "description": "Stop an environment" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "464db96f-2e39-40f0-ad34-b429dc4c67a8", + "created": "2026-08-12T20:06:06.219Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 99, + "reference": "0d47f4c6-4760-43ac-83b2-6bb3e70608d8", + "type": "workflow", + "folder": "/Deployments", + "document": { + "name": "List Deployments", + "description": "List Deployments", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdDeployments", + "canvasName": "getApiV4ProjectsIdDeployments", + "summary": "getApiV4ProjectsIdDeployments", + "description": "getApiV4ProjectsIdDeployments", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "e4a03749-6334-4ac7-bbb1-151e19f277bb", + "created": "2026-08-12T20:06:06.255Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 100, + "reference": "8c3910fa-c8a2-47cf-a628-9ddaf6c858ef", + "type": "workflow", + "folder": "/Deployments", + "document": { + "name": "Create Deployment", + "description": "Create Deployment", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdDeployments", + "canvasName": "postApiV4ProjectsIdDeployments", + "summary": "postApiV4ProjectsIdDeployments", + "description": "postApiV4ProjectsIdDeployments", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "environment": { + "type": "string", + "description": "The name of the environment to create the deployment for" + }, + "sha": { + "type": "string", + "description": "The SHA of the commit that is deployed" + }, + "ref": { + "type": "string", + "description": "The name of the branch or tag that is deployed" + }, + "tag": { + "type": "boolean", + "description": "A boolean that indicates if the deployed ref is a tag (`true`) or not (`false`)" + }, + "status": { + "type": "string", + "description": "The status of the deployment that is created. One of `running`, `success`, `failed`, or `canceled`", + "enum": [ + "running", + "success", + "failed", + "canceled" + ] + } + }, + "required": [ + "environment", + "sha", + "ref", + "tag", + "status" + ], + "description": "Create a deployment" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "environment": { + "type": "string", + "description": "The name of the environment to create the deployment for" + }, + "sha": { + "type": "string", + "description": "The SHA of the commit that is deployed" + }, + "ref": { + "type": "string", + "description": "The name of the branch or tag that is deployed" + }, + "tag": { + "type": "boolean", + "description": "A boolean that indicates if the deployed ref is a tag (`true`) or not (`false`)" + }, + "status": { + "type": "string", + "description": "The status of the deployment that is created. One of `running`, `success`, `failed`, or `canceled`", + "enum": [ + "running", + "success", + "failed", + "canceled" + ] + } + }, + "required": [ + "environment", + "sha", + "ref", + "tag", + "status" + ], + "description": "Create a deployment" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "85e387cb-d2b4-461e-bd8a-bfe5349ff972", + "created": "2026-08-12T20:06:06.292Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 101, + "reference": "3c3b5c95-8756-4b18-ab2d-c9c0b0d463f6", + "type": "workflow", + "folder": "/Deployments", + "document": { + "name": "Get Deployment", + "description": "Get Deployment", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdDeploymentsDeploymentId", + "canvasName": "getApiV4ProjectsIdDeploymentsDeploymentId", + "summary": "getApiV4ProjectsIdDeploymentsDeploymentId", + "description": "getApiV4ProjectsIdDeploymentsDeploymentId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "deployment_id": "$var.job.deployment_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "deployment_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "deployment_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "deployment_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "5a06625f-ae3d-40c4-881a-0d04bd944f32", + "created": "2026-08-12T20:06:06.328Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 102, + "reference": "e3907860-832c-4110-a4a4-feee7fb8bc81", + "type": "workflow", + "folder": "/Deployments", + "document": { + "name": "Update Deployment", + "description": "Update Deployment", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "putApiV4ProjectsIdDeploymentsDeploymentId", + "canvasName": "putApiV4ProjectsIdDeploymentsDeploymentId", + "summary": "putApiV4ProjectsIdDeploymentsDeploymentId", + "description": "putApiV4ProjectsIdDeploymentsDeploymentId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "deployment_id": "$var.job.deployment_id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "deployment_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The new status of the deployment. One of `running`, `success`, `failed`, or `canceled`", + "enum": [ + "running", + "success", + "failed", + "canceled" + ] + } + }, + "required": [ + "status" + ], + "description": "Update a deployment" + } + }, + "required": [ + "id", + "deployment_id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "deployment_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The new status of the deployment. One of `running`, `success`, `failed`, or `canceled`", + "enum": [ + "running", + "success", + "failed", + "canceled" + ] + } + }, + "required": [ + "status" + ], + "description": "Update a deployment" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "80c5b8aa-253b-4033-9eb7-d6d3e206de60", + "created": "2026-08-12T20:06:06.361Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 103, + "reference": "a3c020c9-543b-4292-b617-a9d3efbe8066", + "type": "workflow", + "folder": "/Deployments", + "document": { + "name": "Delete Deployment", + "description": "Delete Deployment", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdDeploymentsDeploymentId", + "canvasName": "deleteApiV4ProjectsIdDeploymentsDeploymentId", + "summary": "deleteApiV4ProjectsIdDeploymentsDeploymentId", + "description": "deleteApiV4ProjectsIdDeploymentsDeploymentId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "deployment_id": "$var.job.deployment_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "deployment_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "deployment_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "deployment_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "6b201ac4-c551-40b0-9512-5b79a7cb34ea", + "created": "2026-08-12T20:06:06.393Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 104, + "reference": "d68ea57c-a1e2-462e-a1e1-2e6022d7fd2c", + "type": "workflow", + "folder": "/Deploy Keys", + "document": { + "name": "List Deploy Keys", + "description": "List Deploy Keys", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdDeployKeys", + "canvasName": "getApiV4ProjectsIdDeployKeys", + "summary": "getApiV4ProjectsIdDeployKeys", + "description": "getApiV4ProjectsIdDeployKeys", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "1c68799a-34ac-499b-be7a-9492b896335b", + "created": "2026-08-12T20:06:06.435Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 105, + "reference": "23fa0d02-e22d-4f71-9ca7-638ca85de526", + "type": "workflow", + "folder": "/Deploy Keys", + "document": { + "name": "Create Deploy Key", + "description": "Create Deploy Key", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdDeployKeys", + "canvasName": "postApiV4ProjectsIdDeployKeys", + "summary": "postApiV4ProjectsIdDeployKeys", + "description": "postApiV4ProjectsIdDeployKeys", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "New deploy key" + }, + "title": { + "type": "string", + "description": "New deploy key's title" + }, + "can_push": { + "type": "boolean", + "description": "Can deploy key push to the project's repository" + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "The expiration date of the SSH key in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)" + } + }, + "required": [ + "key", + "title" + ], + "description": "Add deploy key" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "New deploy key" + }, + "title": { + "type": "string", + "description": "New deploy key's title" + }, + "can_push": { + "type": "boolean", + "description": "Can deploy key push to the project's repository" + }, + "expires_at": { + "type": "string", + "format": "date-time", + "description": "The expiration date of the SSH key in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)" + } + }, + "required": [ + "key", + "title" + ], + "description": "Add deploy key" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "300da63c-ff8f-4191-943d-87df6c0f5863", + "created": "2026-08-12T20:06:06.467Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 106, + "reference": "c126d6b2-2320-418d-a814-216aa31b3f7c", + "type": "workflow", + "folder": "/Deploy Keys", + "document": { + "name": "Get Deploy Key", + "description": "Get Deploy Key", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdDeployKeysKeyId", + "canvasName": "getApiV4ProjectsIdDeployKeysKeyId", + "summary": "getApiV4ProjectsIdDeployKeysKeyId", + "description": "getApiV4ProjectsIdDeployKeysKeyId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "key_id": "$var.job.key_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "key_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "b9ac0112-fdb0-480b-b4dd-25ca07f5b683", + "created": "2026-08-12T20:06:06.499Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 107, + "reference": "82474784-d1db-4921-bbec-1be9769464f3", + "type": "workflow", + "folder": "/Deploy Keys", + "document": { + "name": "Update Deploy Key", + "description": "Update Deploy Key", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "putApiV4ProjectsIdDeployKeysKeyId", + "canvasName": "putApiV4ProjectsIdDeployKeysKeyId", + "summary": "putApiV4ProjectsIdDeployKeysKeyId", + "description": "putApiV4ProjectsIdDeployKeysKeyId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "key_id": "$var.job.key_id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "New deploy key's title" + }, + "can_push": { + "type": "boolean", + "description": "Can deploy key push to the project's repository" + } + }, + "description": "Update deploy key" + } + }, + "required": [ + "id", + "key_id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key_id": { + "type": "integer", + "format": "int32" + }, + "spec": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "New deploy key's title" + }, + "can_push": { + "type": "boolean", + "description": "Can deploy key push to the project's repository" + } + }, + "description": "Update deploy key" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "7f1293a3-db3f-4419-9b2b-2024ecbc12cf", + "created": "2026-08-12T20:06:06.532Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 108, + "reference": "3814ebe1-4c27-4692-9f68-6171cd1568d8", + "type": "workflow", + "folder": "/Deploy Keys", + "document": { + "name": "Delete Deploy Key", + "description": "Delete Deploy Key", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdDeployKeysKeyId", + "canvasName": "deleteApiV4ProjectsIdDeployKeysKeyId", + "summary": "deleteApiV4ProjectsIdDeployKeysKeyId", + "description": "deleteApiV4ProjectsIdDeployKeysKeyId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "key_id": "$var.job.key_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "key_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "key_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "d326657c-42a9-4e07-8338-15a92fcaae91", + "created": "2026-08-12T20:06:06.562Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 109, + "reference": "07bd7b80-4eab-4719-9cf2-723fb4a31319", + "type": "workflow", + "folder": "/Runners", + "document": { + "name": "List Project Runners", + "description": "List Project Runners", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRunners", + "canvasName": "getApiV4ProjectsIdRunners", + "summary": "getApiV4ProjectsIdRunners", + "description": "getApiV4ProjectsIdRunners", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "33b2778a-d09b-42fe-956a-ae7ecd691374", + "created": "2026-08-12T20:06:06.595Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 110, + "reference": "f602db06-ab95-4464-b190-fff7cabff36e", + "type": "workflow", + "folder": "/Runners", + "document": { + "name": "Enable Project Runner", + "description": "Enable Project Runner", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdRunners", + "canvasName": "postApiV4ProjectsIdRunners", + "summary": "postApiV4ProjectsIdRunners", + "description": "postApiV4ProjectsIdRunners", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "runner_id": { + "type": "integer", + "format": "int32", + "description": "The ID of a runner" + } + }, + "required": [ + "runner_id" + ], + "description": "Enable a runner in project" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "runner_id": { + "type": "integer", + "format": "int32", + "description": "The ID of a runner" + } + }, + "required": [ + "runner_id" + ], + "description": "Enable a runner in project" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "fd55bc32-6391-49cb-8314-0aea3b7ef14a", + "created": "2026-08-12T20:06:06.632Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 111, + "reference": "7d69a0e6-db70-4341-91e8-0343a861a20d", + "type": "workflow", + "folder": "/Runners", + "document": { + "name": "Disable Project Runner", + "description": "Disable Project Runner", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdRunnersRunnerId", + "canvasName": "deleteApiV4ProjectsIdRunnersRunnerId", + "summary": "deleteApiV4ProjectsIdRunnersRunnerId", + "description": "deleteApiV4ProjectsIdRunnersRunnerId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "runner_id": "$var.job.runner_id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "runner_id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "runner_id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "runner_id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "75068d47-9737-475a-ba2a-fb015666e18d", + "created": "2026-08-12T20:06:06.664Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 112, + "reference": "080a495a-1606-4bb3-a312-d5f9b1e3a37f", + "type": "workflow", + "folder": "/Branches", + "document": { + "name": "List Branches", + "description": "List Branches", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryBranches", + "canvasName": "getApiV4ProjectsIdRepositoryBranches", + "summary": "getApiV4ProjectsIdRepositoryBranches", + "description": "getApiV4ProjectsIdRepositoryBranches", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "6c381740-8a7d-4bdc-a936-77e63c613524", + "created": "2026-08-12T20:06:06.711Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 113, + "reference": "f8879373-fab8-4204-b821-090ff775a3e9", + "type": "workflow", + "folder": "/Branches", + "document": { + "name": "Create Branch", + "description": "Create Branch", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdRepositoryBranches", + "canvasName": "postApiV4ProjectsIdRepositoryBranches", + "summary": "postApiV4ProjectsIdRepositoryBranches", + "description": "postApiV4ProjectsIdRepositoryBranches", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "The name of the branch" + }, + "ref": { + "type": "string", + "description": "Create branch from commit sha or existing branch" + } + }, + "required": [ + "branch", + "ref" + ], + "description": "Create branch" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "The name of the branch" + }, + "ref": { + "type": "string", + "description": "Create branch from commit sha or existing branch" + } + }, + "required": [ + "branch", + "ref" + ], + "description": "Create branch" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "7cac0eb9-a0ce-402d-a977-61a3a9b1c5cf", + "created": "2026-08-12T20:06:06.745Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 114, + "reference": "6272dd25-e4af-4b7c-91ff-5689c13b2f07", + "type": "workflow", + "folder": "/Branches", + "document": { + "name": "Get Branch", + "description": "Get Branch", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryBranchesBranch", + "canvasName": "getApiV4ProjectsIdRepositoryBranchesBranch", + "summary": "getApiV4ProjectsIdRepositoryBranchesBranch", + "description": "getApiV4ProjectsIdRepositoryBranchesBranch", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "branch": "$var.job.branch" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "branch": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id", + "branch" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "branch": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "b5403f46-d8c4-4018-8d63-b60c7f6f2017", + "created": "2026-08-12T20:06:06.773Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 115, + "reference": "06e56fe7-0fa2-4986-bcc9-2dfdccf44ea8", + "type": "workflow", + "folder": "/Branches", + "document": { + "name": "Delete Branch", + "description": "Delete Branch", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdRepositoryBranchesBranch", + "canvasName": "deleteApiV4ProjectsIdRepositoryBranchesBranch", + "summary": "deleteApiV4ProjectsIdRepositoryBranchesBranch", + "description": "deleteApiV4ProjectsIdRepositoryBranchesBranch", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "branch": "$var.job.branch" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "branch": { + "type": "string" + } + }, + "required": [ + "id", + "branch" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "branch": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "4849431f-d209-45c3-abe7-80e314835f75", + "created": "2026-08-12T20:06:06.802Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 116, + "reference": "1e177d9e-7764-4ae8-8af9-130a4f4d2b40", + "type": "workflow", + "folder": "/Branches", + "document": { + "name": "Protect Branch", + "description": "Protect Branch", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "putApiV4ProjectsIdRepositoryBranchesBranchProtect", + "canvasName": "putApiV4ProjectsIdRepositoryBranchesBranchProtect", + "summary": "putApiV4ProjectsIdRepositoryBranchesBranchProtect", + "description": "putApiV4ProjectsIdRepositoryBranchesBranchProtect", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "branch": "$var.job.branch", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "branch": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "developers_can_push": { + "type": "boolean", + "description": "Flag if developers can push to that branch" + }, + "developers_can_merge": { + "type": "boolean", + "description": "Flag if developers can merge to that branch" + } + }, + "description": "Protect a single branch" + } + }, + "required": [ + "id", + "branch", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "branch": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "developers_can_push": { + "type": "boolean", + "description": "Flag if developers can push to that branch" + }, + "developers_can_merge": { + "type": "boolean", + "description": "Flag if developers can merge to that branch" + } + }, + "description": "Protect a single branch" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "3d80d68a-7c44-429d-a5c7-2632af48321b", + "created": "2026-08-12T20:06:06.836Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 117, + "reference": "7c1b6767-c6f6-4bcb-9eca-f4d07be02d96", + "type": "workflow", + "folder": "/Branches", + "document": { + "name": "Unprotect Branch", + "description": "Unprotect Branch", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "putApiV4ProjectsIdRepositoryBranchesBranchUnprotect", + "canvasName": "putApiV4ProjectsIdRepositoryBranchesBranchUnprotect", + "summary": "putApiV4ProjectsIdRepositoryBranchesBranchUnprotect", + "description": "putApiV4ProjectsIdRepositoryBranchesBranchUnprotect", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "branch": "$var.job.branch" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "branch": { + "type": "string" + } + }, + "required": [ + "id", + "branch" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "branch": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "cded1d2b-6ca5-481d-a91c-1ec7a5cd0878", + "created": "2026-08-12T20:06:06.869Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 118, + "reference": "d7f0b1de-8c4a-4577-95e6-7b8be409cc46", + "type": "workflow", + "folder": "/Repository Files", + "document": { + "name": "Get Repository File", + "description": "Get Repository File", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryFilesFilePath", + "canvasName": "getApiV4ProjectsIdRepositoryFilesFilePath", + "summary": "getApiV4ProjectsIdRepositoryFilesFilePath", + "description": "getApiV4ProjectsIdRepositoryFilesFilePath", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "file_path": "$var.job.file_path" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "file_path": { + "type": "string" + } + }, + "required": [ + "id", + "file_path" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "file_path": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "645f4d17-db62-4173-91a4-5878e29dd3cd", + "created": "2026-08-12T20:06:06.899Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 119, + "reference": "64cfd935-9a36-42cc-8d7d-1af577f0bc7f", + "type": "workflow", + "folder": "/Repository Files", + "document": { + "name": "Create Repository File", + "description": "Create Repository File", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdRepositoryFilesFilePath", + "canvasName": "postApiV4ProjectsIdRepositoryFilesFilePath", + "summary": "postApiV4ProjectsIdRepositoryFilesFilePath", + "description": "postApiV4ProjectsIdRepositoryFilesFilePath", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "file_path": "$var.job.file_path", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "file_path": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "Name of the branch to commit into. To create a new branch, also provide `start_branch`.", + "example": "main" + }, + "commit_message": { + "type": "string", + "description": "Commit message", + "example": "Initial commit" + }, + "start_branch": { + "type": "string", + "description": "Name of the branch to start the new commit from", + "example": "main" + }, + "author_email": { + "type": "string", + "description": "The email of the author", + "example": "johndoe@example.com" + }, + "author_name": { + "type": "string", + "description": "The name of the author", + "example": "John Doe" + }, + "content": { + "type": "string", + "description": "File content", + "example": "file content" + }, + "encoding": { + "type": "string", + "description": "File encoding", + "enum": [ + "base64", + "text" + ], + "default": "text" + }, + "last_commit_id": { + "type": "string", + "description": "Last known commit id for this file", + "example": "2695effb5807a22ff3d138d593fd856244e155e7" + }, + "execute_filemode": { + "type": "boolean", + "description": "Enable / Disable the executable flag on the file path" + } + }, + "required": [ + "branch", + "commit_message", + "content" + ], + "description": "Create new file in repository" + } + }, + "required": [ + "id", + "file_path", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "file_path": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "Name of the branch to commit into. To create a new branch, also provide `start_branch`.", + "example": "main" + }, + "commit_message": { + "type": "string", + "description": "Commit message", + "example": "Initial commit" + }, + "start_branch": { + "type": "string", + "description": "Name of the branch to start the new commit from", + "example": "main" + }, + "author_email": { + "type": "string", + "description": "The email of the author", + "example": "johndoe@example.com" + }, + "author_name": { + "type": "string", + "description": "The name of the author", + "example": "John Doe" + }, + "content": { + "type": "string", + "description": "File content", + "example": "file content" + }, + "encoding": { + "type": "string", + "description": "File encoding", + "enum": [ + "base64", + "text" + ], + "default": "text" + }, + "last_commit_id": { + "type": "string", + "description": "Last known commit id for this file", + "example": "2695effb5807a22ff3d138d593fd856244e155e7" + }, + "execute_filemode": { + "type": "boolean", + "description": "Enable / Disable the executable flag on the file path" + } + }, + "required": [ + "branch", + "commit_message", + "content" + ], + "description": "Create new file in repository" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "5ac0fba8-3f46-4aa1-ad29-924e86033f64", + "created": "2026-08-12T20:06:06.936Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 120, + "reference": "047cfcd6-c367-4027-b4be-559c8130a9e4", + "type": "workflow", + "folder": "/Repository Files", + "document": { + "name": "Update Repository File", + "description": "Update Repository File", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "putApiV4ProjectsIdRepositoryFilesFilePath", + "canvasName": "putApiV4ProjectsIdRepositoryFilesFilePath", + "summary": "putApiV4ProjectsIdRepositoryFilesFilePath", + "description": "putApiV4ProjectsIdRepositoryFilesFilePath", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "file_path": "$var.job.file_path", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "file_path": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "Name of the branch to commit into. To create a new branch, also provide `start_branch`.", + "example": "main" + }, + "commit_message": { + "type": "string", + "description": "Commit message", + "example": "Initial commit" + }, + "start_branch": { + "type": "string", + "description": "Name of the branch to start the new commit from", + "example": "main" + }, + "author_email": { + "type": "string", + "description": "The email of the author", + "example": "johndoe@example.com" + }, + "author_name": { + "type": "string", + "description": "The name of the author", + "example": "John Doe" + }, + "content": { + "type": "string", + "description": "File content", + "example": "file content" + }, + "encoding": { + "type": "string", + "description": "File encoding", + "enum": [ + "base64", + "text" + ], + "default": "text" + }, + "last_commit_id": { + "type": "string", + "description": "Last known commit id for this file", + "example": "2695effb5807a22ff3d138d593fd856244e155e7" + }, + "execute_filemode": { + "type": "boolean", + "description": "Enable / Disable the executable flag on the file path" + } + }, + "required": [ + "branch", + "commit_message", + "content" + ], + "description": "Update existing file in repository" + } + }, + "required": [ + "id", + "file_path", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "file_path": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "Name of the branch to commit into. To create a new branch, also provide `start_branch`.", + "example": "main" + }, + "commit_message": { + "type": "string", + "description": "Commit message", + "example": "Initial commit" + }, + "start_branch": { + "type": "string", + "description": "Name of the branch to start the new commit from", + "example": "main" + }, + "author_email": { + "type": "string", + "description": "The email of the author", + "example": "johndoe@example.com" + }, + "author_name": { + "type": "string", + "description": "The name of the author", + "example": "John Doe" + }, + "content": { + "type": "string", + "description": "File content", + "example": "file content" + }, + "encoding": { + "type": "string", + "description": "File encoding", + "enum": [ + "base64", + "text" + ], + "default": "text" + }, + "last_commit_id": { + "type": "string", + "description": "Last known commit id for this file", + "example": "2695effb5807a22ff3d138d593fd856244e155e7" + }, + "execute_filemode": { + "type": "boolean", + "description": "Enable / Disable the executable flag on the file path" + } + }, + "required": [ + "branch", + "commit_message", + "content" + ], + "description": "Update existing file in repository" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "ffc2921d-dacd-4d26-ad86-8ca6dc31bf94", + "created": "2026-08-12T20:06:06.993Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 121, + "reference": "e62a6a5c-0e39-4474-b86d-7d9d36dae053", + "type": "workflow", + "folder": "/Repository Files", + "document": { + "name": "Delete Repository File", + "description": "Delete Repository File", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "deleteApiV4ProjectsIdRepositoryFilesFilePath", + "canvasName": "deleteApiV4ProjectsIdRepositoryFilesFilePath", + "summary": "deleteApiV4ProjectsIdRepositoryFilesFilePath", + "description": "deleteApiV4ProjectsIdRepositoryFilesFilePath", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "file_path": "$var.job.file_path" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "file_path": { + "type": "string" + } + }, + "required": [ + "id", + "file_path" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "file_path": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "123a4609-d64e-411a-8481-75a19a1a9f1f", + "created": "2026-08-12T20:06:07.030Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 122, + "reference": "c89b5f42-2552-4408-978f-b886b141e6e6", + "type": "workflow", + "folder": "/Repository Files", + "document": { + "name": "Get Raw File", + "description": "Get Raw File", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryFilesFilePathRaw", + "canvasName": "getApiV4ProjectsIdRepositoryFilesFilePathRaw", + "summary": "getApiV4ProjectsIdRepositoryFilesFilePathRaw", + "description": "getApiV4ProjectsIdRepositoryFilesFilePathRaw", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "file_path": "$var.job.file_path" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "file_path": { + "type": "string" + } + }, + "required": [ + "id", + "file_path" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "file_path": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "dcecdcf5-f4be-413a-a575-36b8a5c27fa6", + "created": "2026-08-12T20:06:07.068Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 123, + "reference": "61f047b5-06b0-4da6-bc0b-807b05983f48", + "type": "workflow", + "folder": "/Repository Browse", + "document": { + "name": "List Repository Trees", + "description": "List Repository Trees", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryTree", + "canvasName": "getApiV4ProjectsIdRepositoryTree", + "summary": "getApiV4ProjectsIdRepositoryTree", + "description": "getApiV4ProjectsIdRepositoryTree", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "55a1970f-c67b-48de-9a9c-64d5ddc8ae6e", + "created": "2026-08-12T20:06:07.117Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 124, + "reference": "308a123f-9764-4326-b7b8-657a6151c433", + "type": "workflow", + "folder": "/Repository Browse", + "document": { + "name": "Get Repository Comparison", + "description": "Get Repository Comparison", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryCompare", + "canvasName": "getApiV4ProjectsIdRepositoryCompare", + "summary": "getApiV4ProjectsIdRepositoryCompare", + "description": "getApiV4ProjectsIdRepositoryCompare", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "5b82b8de-b891-4a4d-a751-201aec698949", + "created": "2026-08-12T20:06:07.156Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 125, + "reference": "ef277af3-522b-435c-8f29-93eef0bcff1f", + "type": "workflow", + "folder": "/Commits", + "document": { + "name": "List Commits", + "description": "List Commits", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryCommits", + "canvasName": "getApiV4ProjectsIdRepositoryCommits", + "summary": "getApiV4ProjectsIdRepositoryCommits", + "description": "getApiV4ProjectsIdRepositoryCommits", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "62ecd1d1-7cbb-4d3e-806f-a5b210ac6369", + "created": "2026-08-12T20:06:07.186Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 126, + "reference": "dfd2e78d-900b-41c1-a394-dd979c38185e", + "type": "workflow", + "folder": "/Commits", + "document": { + "name": "Create Commit", + "description": "Create Commit", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdRepositoryCommits", + "canvasName": "postApiV4ProjectsIdRepositoryCommits", + "summary": "postApiV4ProjectsIdRepositoryCommits", + "description": "postApiV4ProjectsIdRepositoryCommits", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "Name of the branch to commit into. To create a new branch, also provide either `start_branch` or `start_sha`, and optionally `start_project`.", + "example": "master" + }, + "commit_message": { + "type": "string", + "description": "Commit message", + "example": "initial commit" + }, + "actions": { + "type": "array", + "description": "Actions to perform in commit", + "items": { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "The action to perform, `create`, `delete`, `move`, `update`, `chmod`", + "enum": [ + "create", + "update", + "move", + "delete", + "chmod" + ] + }, + "file_path": { + "type": "string", + "description": "Full path to the file.", + "example": "lib/class.rb" + }, + "previous_path": { + "type": "string", + "description": "Original full path to the file being moved.", + "example": "lib/class.rb" + }, + "content": { + "type": "string", + "description": "File content", + "example": "Some file content" + }, + "encoding": { + "type": "string", + "description": "`text` or `base64`", + "enum": [ + "text", + "base64" + ], + "default": "text" + }, + "last_commit_id": { + "type": "string", + "description": "Last known file commit id", + "example": "2695effb5807a22ff3d138d593fd856244e155e7" + }, + "execute_filemode": { + "type": "boolean", + "description": "When `true/false` enables/disables the execute flag on the file." + } + }, + "required": [ + "action", + "file_path", + "previous_path", + "content", + "execute_filemode" + ] + } + }, + "start_branch": { + "type": "string", + "description": "Name of the branch to start the new branch from", + "example": "staging" + }, + "start_sha": { + "type": "string", + "description": "SHA of the commit to start the new branch from", + "example": "2695effb5807a22ff3d138d593fd856244e155e7" + }, + "start_project": { + "type": "integer", + "format": "int32", + "description": "The ID or path of the project to start the new branch from", + "example": 1 + }, + "author_email": { + "type": "string", + "description": "Author email for commit", + "example": "janedoe@example.com" + }, + "author_name": { + "type": "string", + "description": "Author name for commit", + "example": "Jane Doe" + }, + "stats": { + "type": "boolean", + "description": "Include commit stats", + "default": true + }, + "force": { + "type": "boolean", + "description": "When `true` overwrites the target branch with a new commit based on the `start_branch` or `start_sha`", + "default": false + } + }, + "required": [ + "branch", + "commit_message", + "actions" + ], + "description": "Commit multiple file changes as one commit" + } + }, + "required": [ + "id", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "Name of the branch to commit into. To create a new branch, also provide either `start_branch` or `start_sha`, and optionally `start_project`.", + "example": "master" + }, + "commit_message": { + "type": "string", + "description": "Commit message", + "example": "initial commit" + }, + "actions": { + "type": "array", + "description": "Actions to perform in commit", + "items": { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "The action to perform, `create`, `delete`, `move`, `update`, `chmod`", + "enum": [ + "create", + "update", + "move", + "delete", + "chmod" + ] + }, + "file_path": { + "type": "string", + "description": "Full path to the file.", + "example": "lib/class.rb" + }, + "previous_path": { + "type": "string", + "description": "Original full path to the file being moved.", + "example": "lib/class.rb" + }, + "content": { + "type": "string", + "description": "File content", + "example": "Some file content" + }, + "encoding": { + "type": "string", + "description": "`text` or `base64`", + "enum": [ + "text", + "base64" + ], + "default": "text" + }, + "last_commit_id": { + "type": "string", + "description": "Last known file commit id", + "example": "2695effb5807a22ff3d138d593fd856244e155e7" + }, + "execute_filemode": { + "type": "boolean", + "description": "When `true/false` enables/disables the execute flag on the file." + } + }, + "required": [ + "action", + "file_path", + "previous_path", + "content", + "execute_filemode" + ] + } + }, + "start_branch": { + "type": "string", + "description": "Name of the branch to start the new branch from", + "example": "staging" + }, + "start_sha": { + "type": "string", + "description": "SHA of the commit to start the new branch from", + "example": "2695effb5807a22ff3d138d593fd856244e155e7" + }, + "start_project": { + "type": "integer", + "format": "int32", + "description": "The ID or path of the project to start the new branch from", + "example": 1 + }, + "author_email": { + "type": "string", + "description": "Author email for commit", + "example": "janedoe@example.com" + }, + "author_name": { + "type": "string", + "description": "Author name for commit", + "example": "Jane Doe" + }, + "stats": { + "type": "boolean", + "description": "Include commit stats", + "default": true + }, + "force": { + "type": "boolean", + "description": "When `true` overwrites the target branch with a new commit based on the `start_branch` or `start_sha`", + "default": false + } + }, + "required": [ + "branch", + "commit_message", + "actions" + ], + "description": "Commit multiple file changes as one commit" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "0025a0de-6c12-401c-898e-d283d686d108", + "created": "2026-08-12T20:06:07.220Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 127, + "reference": "9bc6b652-075b-42eb-849f-e31981c4d1da", + "type": "workflow", + "folder": "/Commits", + "document": { + "name": "Get Commit", + "description": "Get Commit", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryCommitsSha", + "canvasName": "getApiV4ProjectsIdRepositoryCommitsSha", + "summary": "getApiV4ProjectsIdRepositoryCommitsSha", + "description": "getApiV4ProjectsIdRepositoryCommitsSha", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "sha": "$var.job.sha" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sha": { + "type": "string" + } + }, + "required": [ + "id", + "sha" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "e57903cb-c34b-4cdd-b7ed-e38597fb4652", + "created": "2026-08-12T20:06:07.273Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 128, + "reference": "98f59017-8acc-4a55-bb57-4ee03b84f77d", + "type": "workflow", + "folder": "/Commits", + "document": { + "name": "Get Commit Diff", + "description": "Get Commit Diff", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryCommitsShaDiff", + "canvasName": "getApiV4ProjectsIdRepositoryCommitsShaDiff", + "summary": "getApiV4ProjectsIdRepositoryCommitsShaDiff", + "description": "getApiV4ProjectsIdRepositoryCommitsShaDiff", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "sha": "$var.job.sha" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sha": { + "type": "string" + } + }, + "required": [ + "id", + "sha" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "3888cfbf-c016-4a73-bafe-af1bed909ded", + "created": "2026-08-12T20:06:07.313Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 129, + "reference": "5189d9a8-35e7-44eb-8242-1f1bcb10a263", + "type": "workflow", + "folder": "/Commits", + "document": { + "name": "List Commit Comments", + "description": "List Commit Comments", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4ProjectsIdRepositoryCommitsShaComments", + "canvasName": "getApiV4ProjectsIdRepositoryCommitsShaComments", + "summary": "getApiV4ProjectsIdRepositoryCommitsShaComments", + "description": "getApiV4ProjectsIdRepositoryCommitsShaComments", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "sha": "$var.job.sha" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sha": { + "type": "string" + } + }, + "required": [ + "id", + "sha" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "4aba08a5-e6c8-4be9-811a-3ab82061c76e", + "created": "2026-08-12T20:06:07.353Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 130, + "reference": "bcaf3c83-25aa-412f-9360-c408edd6437c", + "type": "workflow", + "folder": "/Commits", + "document": { + "name": "Create Commit Comment", + "description": "Create Commit Comment", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "postApiV4ProjectsIdRepositoryCommitsShaComments", + "canvasName": "postApiV4ProjectsIdRepositoryCommitsShaComments", + "summary": "postApiV4ProjectsIdRepositoryCommitsShaComments", + "description": "postApiV4ProjectsIdRepositoryCommitsShaComments", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id", + "sha": "$var.job.sha", + "bodyContentType": "application/json", + "requestBodyPayload": "$var.job.spec" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "note": { + "type": "string", + "description": "The text of the comment", + "example": "Nice code!" + }, + "path": { + "type": "string", + "description": "The file path", + "example": "doc/update/5.4-to-6.0.md" + }, + "line": { + "type": "integer", + "format": "int32", + "description": "The line number", + "example": 11 + }, + "line_type": { + "type": "string", + "description": "The type of the line", + "enum": [ + "new", + "old" + ], + "default": "new" + } + }, + "required": [ + "note", + "line", + "line_type" + ], + "description": "Post comment to commit" + } + }, + "required": [ + "id", + "sha", + "spec" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "spec": { + "type": "object", + "properties": { + "note": { + "type": "string", + "description": "The text of the comment", + "example": "Nice code!" + }, + "path": { + "type": "string", + "description": "The file path", + "example": "doc/update/5.4-to-6.0.md" + }, + "line": { + "type": "integer", + "format": "int32", + "description": "The line number", + "example": 11 + }, + "line_type": { + "type": "string", + "description": "The type of the line", + "enum": [ + "new", + "old" + ], + "default": "new" + } + }, + "required": [ + "note", + "line", + "line_type" + ], + "description": "Post comment to commit" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "cba6dc10-5a21-4046-bf2a-72fc50d03136", + "created": "2026-08-12T20:06:07.390Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 131, + "reference": "6676fade-c24a-460e-851f-858216f5e1d5", + "type": "workflow", + "folder": "/Users", + "document": { + "name": "List Users", + "description": "List Users", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4Users", + "canvasName": "getApiV4Users", + "summary": "getApiV4Users", + "description": "getApiV4Users", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": {} + }, + "outputSchema": { + "type": "object", + "properties": { + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "d8b721e6-99d9-4ea0-b20a-aefe5f12d345", + "created": "2026-08-12T20:06:07.439Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + }, + { + "iid": 132, + "reference": "a7151b41-d527-4508-8ee3-644c5b91fd72", + "type": "workflow", + "folder": "/Users", + "document": { + "name": "Get User", + "description": "Get User", + "type": "automation", + "font_size": 12, + "tasks": { + "workflow_start": { + "name": "workflow_start", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 0 + } + }, + "a1a1": { + "name": "getApiV4UsersId", + "canvasName": "getApiV4UsersId", + "summary": "getApiV4UsersId", + "description": "getApiV4UsersId", + "location": "Adapter", + "locationType": "GitLab REST API:latest", + "app": "GitLab REST API:latest", + "type": "automatic", + "displayName": "GitLab", + "variables": { + "incoming": { + "adapter_id": "GitLab", + "id": "$var.job.id" + }, + "outgoing": { + "response": null + }, + "error": "", + "decorators": [] + }, + "groups": [], + "actor": "Pronghorn", + "scheduled": false, + "nodeLocation": { + "x": 264, + "y": 150 + } + }, + "workflow_end": { + "name": "workflow_end", + "groups": [], + "nodeLocation": { + "x": 264, + "y": 300 + } + } + }, + "transitions": { + "workflow_start": { + "a1a1": { + "type": "standard", + "state": "success" + } + }, + "a1a1": { + "workflow_end": { + "type": "standard", + "state": "success" + } + }, + "workflow_end": {} + }, + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + } + }, + "required": [ + "id" + ] + }, + "outputSchema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "_id": { + "type": "string", + "pattern": "^[0-9a-f]{24}$" + }, + "initiator": { + "type": "string" + } + } + }, + "last_updated": "2026-08-12T20:10:34.338Z", + "last_updated_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "lastUpdatedVersion": "4.69.69", + "uuid": "22cf7261-c6cd-45d7-9a24-d92a6207c798", + "created": "2026-08-12T20:06:07.480Z", + "created_by": { + "provenance": "LDAP", + "username": "admin@itential", + "firstname": "admin@itential", + "inactive": false + }, + "createdVersion": "5.55.5", + "scenarios": [], + "canvasVersion": 3, + "tags": [], + "groups": [], + "migrationVersion": 8 + } + } + ], + "folders": [ + { + "nodeType": "folder", + "name": "Groups", + "children": [ + { + "iid": 0, + "nodeType": "component" + }, + { + "iid": 1, + "nodeType": "component" + }, + { + "iid": 2, + "nodeType": "component" + }, + { + "iid": 3, + "nodeType": "component" + }, + { + "iid": 4, + "nodeType": "component" + }, + { + "iid": 5, + "nodeType": "component" + }, + { + "iid": 6, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Members", + "children": [ + { + "iid": 7, + "nodeType": "component" + }, + { + "iid": 8, + "nodeType": "component" + }, + { + "iid": 9, + "nodeType": "component" + }, + { + "iid": 10, + "nodeType": "component" + }, + { + "iid": 11, + "nodeType": "component" + }, + { + "iid": 12, + "nodeType": "component" + }, + { + "iid": 13, + "nodeType": "component" + }, + { + "iid": 14, + "nodeType": "component" + }, + { + "iid": 15, + "nodeType": "component" + }, + { + "iid": 16, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Deploy Tokens", + "children": [ + { + "iid": 17, + "nodeType": "component" + }, + { + "iid": 18, + "nodeType": "component" + }, + { + "iid": 19, + "nodeType": "component" + }, + { + "iid": 20, + "nodeType": "component" + }, + { + "iid": 21, + "nodeType": "component" + }, + { + "iid": 22, + "nodeType": "component" + }, + { + "iid": 23, + "nodeType": "component" + }, + { + "iid": 24, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "CI-CD Variables", + "children": [ + { + "iid": 25, + "nodeType": "component" + }, + { + "iid": 26, + "nodeType": "component" + }, + { + "iid": 27, + "nodeType": "component" + }, + { + "iid": 28, + "nodeType": "component" + }, + { + "iid": 29, + "nodeType": "component" + }, + { + "iid": 30, + "nodeType": "component" + }, + { + "iid": 31, + "nodeType": "component" + }, + { + "iid": 32, + "nodeType": "component" + }, + { + "iid": 33, + "nodeType": "component" + }, + { + "iid": 34, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Projects", + "children": [ + { + "iid": 35, + "nodeType": "component" + }, + { + "iid": 36, + "nodeType": "component" + }, + { + "iid": 37, + "nodeType": "component" + }, + { + "iid": 38, + "nodeType": "component" + }, + { + "iid": 39, + "nodeType": "component" + }, + { + "iid": 40, + "nodeType": "component" + }, + { + "iid": 41, + "nodeType": "component" + }, + { + "iid": 42, + "nodeType": "component" + }, + { + "iid": 43, + "nodeType": "component" + }, + { + "iid": 44, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Jobs", + "children": [ + { + "iid": 45, + "nodeType": "component" + }, + { + "iid": 46, + "nodeType": "component" + }, + { + "iid": 47, + "nodeType": "component" + }, + { + "iid": 48, + "nodeType": "component" + }, + { + "iid": 49, + "nodeType": "component" + }, + { + "iid": 50, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Merge Requests", + "children": [ + { + "iid": 51, + "nodeType": "component" + }, + { + "iid": 52, + "nodeType": "component" + }, + { + "iid": 53, + "nodeType": "component" + }, + { + "iid": 54, + "nodeType": "component" + }, + { + "iid": 55, + "nodeType": "component" + }, + { + "iid": 56, + "nodeType": "component" + }, + { + "iid": 57, + "nodeType": "component" + }, + { + "iid": 58, + "nodeType": "component" + }, + { + "iid": 59, + "nodeType": "component" + }, + { + "iid": 60, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Pipelines", + "children": [ + { + "iid": 61, + "nodeType": "component" + }, + { + "iid": 62, + "nodeType": "component" + }, + { + "iid": 63, + "nodeType": "component" + }, + { + "iid": 64, + "nodeType": "component" + }, + { + "iid": 65, + "nodeType": "component" + }, + { + "iid": 66, + "nodeType": "component" + }, + { + "iid": 67, + "nodeType": "component" + }, + { + "iid": 68, + "nodeType": "component" + }, + { + "iid": 69, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Pipeline Schedules", + "children": [ + { + "iid": 70, + "nodeType": "component" }, - "inputSchema": { - "type": "object", - "properties": { - "filePath": { - "type": "string" - }, - "branchName": { - "type": "string" - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "commitMessage": { - "type": "string" - }, - "fileContent": { - "type": "string" - } - }, - "required": [ - "filePath", - "branchName", - "adapterId", - "projectPath", - "commitMessage", - "fileContent" - ] + { + "iid": 71, + "nodeType": "component" }, - "outputSchema": { - "type": "object", - "properties": { - "filePath": { - "type": "string" - }, - "branchName": { - "type": "string" - }, - "adapterId": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "projectPath": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "commitMessage": { - "type": "string" - }, - "fileContent": { - "type": "string" - }, - "_id": { - "type": "string", - "pattern": "^[0-9a-f]{24}$" - }, - "initiator": { - "type": "string" - }, - "gitlabError": { - "type": ["array", "boolean", "null", "number", "object", "string"] - }, - "commitAction": { - "type": "string" - } - } + { + "iid": 72, + "nodeType": "component" }, - "createdVersion": "5.40.5-2021.1.52.0", - "font_size": 12, - "lastUpdatedVersion": "5.55.2-2023.2.13", - "last_updated": "2025-01-23T20:44:00.344Z", - "preAutomationTime": 0, - "sla": 0, - "type": "automation", - "last_updated_by": { - "provenance": "Okta", - "username": "admin@itential", - "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + { + "iid": 73, + "nodeType": "component" }, - "created": "1970-01-01T00:00:00.000Z", - "canvasVersion": 3, - "created_by": { - "provenance": "Okta", - "username": "admin@itential", - "firstname": "admin@itential", - "inactive": false, - "sso": true, - "nameID": "admin@itential" + { + "iid": 74, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Protected Branches", + "children": [ + { + "iid": 75, + "nodeType": "component" }, - "tags": [], - "groups": [], - "migrationVersion": 3 - } - } - ], - "folders": [ + { + "iid": 76, + "nodeType": "component" + }, + { + "iid": 77, + "nodeType": "component" + }, + { + "iid": 78, + "nodeType": "component" + }, + { + "iid": 79, + "nodeType": "component" + } + ] + }, { - "iid": 8, - "nodeType": "component" + "nodeType": "folder", + "name": "Tags", + "children": [ + { + "iid": 80, + "nodeType": "component" + }, + { + "iid": 81, + "nodeType": "component" + }, + { + "iid": 82, + "nodeType": "component" + }, + { + "iid": 83, + "nodeType": "component" + }, + { + "iid": 84, + "nodeType": "component" + }, + { + "iid": 85, + "nodeType": "component" + }, + { + "iid": 86, + "nodeType": "component" + }, + { + "iid": 87, + "nodeType": "component" + } + ] }, { "nodeType": "folder", - "name": "Create Project", + "name": "Releases", "children": [ { - "iid": 11, + "iid": 88, "nodeType": "component" }, { - "iid": 2, + "iid": 89, "nodeType": "component" }, { - "iid": 0, + "iid": 90, + "nodeType": "component" + }, + { + "iid": 91, + "nodeType": "component" + }, + { + "iid": 92, "nodeType": "component" } ] }, { "nodeType": "folder", - "name": "Create Templated Project", + "name": "Environments", "children": [ { - "iid": 7, + "iid": 93, + "nodeType": "component" + }, + { + "iid": 94, + "nodeType": "component" + }, + { + "iid": 95, + "nodeType": "component" + }, + { + "iid": 96, + "nodeType": "component" + }, + { + "iid": 97, + "nodeType": "component" + }, + { + "iid": 98, "nodeType": "component" } ] }, { - "iid": 9, - "nodeType": "component" + "nodeType": "folder", + "name": "Deployments", + "children": [ + { + "iid": 99, + "nodeType": "component" + }, + { + "iid": 100, + "nodeType": "component" + }, + { + "iid": 101, + "nodeType": "component" + }, + { + "iid": 102, + "nodeType": "component" + }, + { + "iid": 103, + "nodeType": "component" + } + ] }, { - "iid": 6, - "nodeType": "component" + "nodeType": "folder", + "name": "Deploy Keys", + "children": [ + { + "iid": 104, + "nodeType": "component" + }, + { + "iid": 105, + "nodeType": "component" + }, + { + "iid": 106, + "nodeType": "component" + }, + { + "iid": 107, + "nodeType": "component" + }, + { + "iid": 108, + "nodeType": "component" + } + ] }, { "nodeType": "folder", - "name": "Push Commit to Branch", + "name": "Runners", "children": [ { - "iid": 13, + "iid": 109, "nodeType": "component" }, { - "iid": 4, + "iid": 110, + "nodeType": "component" + }, + { + "iid": 111, "nodeType": "component" } ] }, { - "iid": 10, - "nodeType": "component" + "nodeType": "folder", + "name": "Branches", + "children": [ + { + "iid": 112, + "nodeType": "component" + }, + { + "iid": 113, + "nodeType": "component" + }, + { + "iid": 114, + "nodeType": "component" + }, + { + "iid": 115, + "nodeType": "component" + }, + { + "iid": 116, + "nodeType": "component" + }, + { + "iid": 117, + "nodeType": "component" + } + ] }, { - "iid": 12, - "nodeType": "component" + "nodeType": "folder", + "name": "Repository Files", + "children": [ + { + "iid": 118, + "nodeType": "component" + }, + { + "iid": 119, + "nodeType": "component" + }, + { + "iid": 120, + "nodeType": "component" + }, + { + "iid": 121, + "nodeType": "component" + }, + { + "iid": 122, + "nodeType": "component" + } + ] }, { "nodeType": "folder", - "name": "Get Diff for Merge", + "name": "Repository Browse", "children": [ { - "iid": 5, + "iid": 123, "nodeType": "component" }, { - "iid": 1, + "iid": 124, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Commits", + "children": [ + { + "iid": 125, "nodeType": "component" }, { - "iid": 3, + "iid": 126, + "nodeType": "component" + }, + { + "iid": 127, + "nodeType": "component" + }, + { + "iid": 128, + "nodeType": "component" + }, + { + "iid": 129, + "nodeType": "component" + }, + { + "iid": 130, + "nodeType": "component" + } + ] + }, + { + "nodeType": "folder", + "name": "Users", + "children": [ + { + "iid": 131, + "nodeType": "component" + }, + { + "iid": 132, "nodeType": "component" } ] } ], - "created": "2024-08-29T19:08:53.642Z", "createdBy": { - "_id": "6786b32af921f091fd105007", - "provenance": "Local AAA", + "_id": "699f3e2b85569c9f5d8e1f38", + "provenance": "LDAP", "username": "admin@itential" }, - "lastUpdated": "2025-01-23T20:44:00.317Z", "lastUpdatedBy": { - "_id": "67531c63592f8c45f4eabe88", - "provenance": "Okta", + "_id": "699f3e2b85569c9f5d8e1f38", + "provenance": "LDAP", "username": "admin@itential" }, - "iid": 60, - "thumbnail": "data:image/png;base64,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", - "backgroundColor": "#FFFFFF" -} + "created": "2026-08-12T20:10:32.616Z", + "lastUpdated": "2026-08-12T20:10:32.616Z", + "iid": 28, + "thumbnail": "data:image/png;base64,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", + "backgroundColor": "#FFFFFF", + "referencedComponentHashes": [] +} \ No newline at end of file From 1af267bc871aab106a7ad0db91c988549404c505 Mon Sep 17 00:00:00 2001 From: Michael Elrom Date: Wed, 12 Aug 2026 17:00:37 -0400 Subject: [PATCH 2/2] docs(gitlab): update testing status now that List Groups is confirmed live --- GitLab/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GitLab/README.md b/GitLab/README.md index fd5291c..5b0ab6e 100644 --- a/GitLab/README.md +++ b/GitLab/README.md @@ -142,4 +142,4 @@ Note the `CI-CD Variables` folder name uses a hyphen rather than a slash — Ite | `GitLab REST API:latest` Integration Model | Import from [`gitlab_rest_api-latest.json`](./OpenAPIs/gitlab_rest_api-latest.json) before importing the project | | `GitLab` integration instance | Create in **Admin > Integrations** with the connection properties above. Workflows are wired to an integration instance named `GitLab` — update the `adapter_id` value in each workflow task if yours is named differently | -**Testing status:** all 133 workflows were created and schema-validated against a running Itential Platform instance. `List Projects` was executed against a real GitLab.com account and confirmed returning live data. `Get Project` and `List Groups` were also tested but require broader token scope than a personal-access-token restricted to "personal projects only" — GitLab's fine-grained personal access tokens can scope `Project`/`Group` read access to a limited set of resources, and a token scoped that narrowly will reject reads of projects/groups outside that set with `insufficient_granular_scope`, independent of this Integration Model. The remaining workflows have not been individually executed. +**Testing status:** all 133 workflows were created and schema-validated against a running Itential Platform instance. `List Projects` and `List Groups` were executed against a real GitLab.com account and confirmed returning live data. `Get Project` for a specific project outside the token's granted scope failed with `insufficient_granular_scope` — GitLab's fine-grained personal access tokens can restrict `Project`/`Group` read access to a limited set of resources (e.g. "personal projects only"), independent of this Integration Model; a token with broader scope resolves this. The remaining workflows have not been individually executed.