From 585e3f567fad1ef2e46e2e7adb55fb20e21cb05e Mon Sep 17 00:00:00 2001 From: zgjimhaziri Date: Tue, 20 Oct 2026 17:27:26 +0200 Subject: [PATCH 1/5] Support DATA_POOL_ID in list assignments Lists the target team's data pools, so a DATA_POOL_ID variable such as a Context Model's dataPoolId can be mapped during Team-to-Team Copy. Co-Authored-By: Claude Opus 5.5 (1M context) --- docs/user-guide/config-commands.md | 10 ++++++++++ .../variable-assignment-apis.constants.ts | 3 +++ .../list-assignments.spec.ts | 14 ++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/docs/user-guide/config-commands.md b/docs/user-guide/config-commands.md index 4f2c1381..9ae524ef 100644 --- a/docs/user-guide/config-commands.md +++ b/docs/user-guide/config-commands.md @@ -382,6 +382,16 @@ The params argument should be passed in a key value format separated by commas w --params key1=value1,key2=value2,...,keyN=valueN ``` +The supported types and the API each one reads: + +| Type | Source | Value to assign | +|---|---|---| +| `DATA_MODEL` | `/package-manager/api/compute-pools/pools-with-data-models` | `dataModel.dataModelId` | +| `CONNECTION` | `/process-automation-v2/api/connections` | the connection object | +| `DATA_POOL_ID` | `/integration/api/pools` | `id` | + +Each command prints the API's JSON as it is. With `--json`, it writes that JSON to a file. Any other type fails with `Variable type not supported.` + ### Mapping Variables After getting the variables list (with definitions and assignments in the source team) and the assignments (possible values on the target team), you can change the value of the source team to one of the options provided when listing assignments. diff --git a/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts b/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts index ae930750..51b45993 100644 --- a/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts +++ b/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts @@ -8,5 +8,8 @@ export const variableAssignmentApis: { [key: string]: VariableAssignmentApi } = }, CONNECTION: { url: "/process-automation-v2/api/connections" + }, + DATA_POOL_ID: { + url: "/integration/api/pools" } }; \ No newline at end of file diff --git a/tests/commands/configuration-management/list-assignments.spec.ts b/tests/commands/configuration-management/list-assignments.spec.ts index ff086679..5b7f4621 100644 --- a/tests/commands/configuration-management/list-assignments.spec.ts +++ b/tests/commands/configuration-management/list-assignments.spec.ts @@ -9,6 +9,7 @@ describe("List assignments", () => { const DATA_MODEL_URL = "https://myTeam.celonis.cloud/package-manager/api/compute-pools/pools-with-data-models"; const CONNECTIONS_URL = "https://myTeam.celonis.cloud/process-automation-v2/api/connections?param1=value1¶m2=value2"; + const DATA_POOLS_URL = "https://myTeam.celonis.cloud/integration/api/pools"; it("Should list assignments for supported type and non-json response", async () => { const mockAssignmentValues = [ @@ -50,6 +51,19 @@ describe("List assignments", () => { expect(mockedAxiosInstance.get).toHaveBeenCalledWith(CONNECTIONS_URL, expect.anything()) }) + it("Should list data pools as assignments for the DATA_POOL_ID type", async () => { + const mockAssignmentValues = [ + {id: "pool-1", name: "Pool 1"}, + {id: "pool-2", name: "Pool 2"} + ]; + mockAxiosGet(DATA_POOLS_URL, mockAssignmentValues); + + await new VariableCommandService(testContext).listAssignments("DATA_POOL_ID", true, ""); + + expect(mockedAxiosInstance.get).toHaveBeenCalledWith(DATA_POOLS_URL, expect.anything()); + expect(getJsonFromDownloadedFile()).toEqual(mockAssignmentValues); + }) + it("Should throw error for unsupported variable types", async () => { const type: string = "DUMMY_UNSUPPORTED_TYPE"; From 96618ba997f968598d62e10c9aace2a136c41568 Mon Sep 17 00:00:00 2001 From: zgjimhaziri Date: Tue, 20 Oct 2026 18:00:56 +0200 Subject: [PATCH 2/5] Return list assignments as value and label for every type Each assignment API answers in its own shape, so callers had to know every one of them. Map each type to {value, label} in the CLI, so Team-to-Team Copy can list assignments for any variable type the same way, and keeps working when a type's source API changes. Also adds DATA_POOL_ID and PIG_INSTANCE to PackageManagerVariableType. Co-Authored-By: Claude Opus 5.5 (1M context) --- docs/user-guide/config-commands.md | 18 ++-- .../api/variable-assignment-candidates-api.ts | 15 ++-- .../variable-assignment-apis.constants.ts | 33 +++++-- .../interfaces/package-manager.interfaces.ts | 4 +- .../list-assignments.spec.ts | 86 ++++++++++++------- 5 files changed, 109 insertions(+), 47 deletions(-) diff --git a/docs/user-guide/config-commands.md b/docs/user-guide/config-commands.md index 9ae524ef..fb107c0d 100644 --- a/docs/user-guide/config-commands.md +++ b/docs/user-guide/config-commands.md @@ -384,13 +384,19 @@ The params argument should be passed in a key value format separated by commas w The supported types and the API each one reads: -| Type | Source | Value to assign | -|---|---|---| -| `DATA_MODEL` | `/package-manager/api/compute-pools/pools-with-data-models` | `dataModel.dataModelId` | -| `CONNECTION` | `/process-automation-v2/api/connections` | the connection object | -| `DATA_POOL_ID` | `/integration/api/pools` | `id` | +| Type | Source | `value` | `label` | +|---|---|---|---| +| `DATA_MODEL` | `/package-manager/api/compute-pools/pools-with-data-models` | data model id | ` / ` | +| `CONNECTION` | `/process-automation-v2/api/connections` | connection id | ` - ` | +| `DATA_POOL_ID` | `/integration/api/pools` | data pool id | data pool name | + +Every type returns the same shape, a list of assignments: + +```json +[{"value": "4b4f32c8-4529-43f1-9399-2a6de94ac13a", "label": "Order Management Pool"}] +``` -Each command prints the API's JSON as it is. With `--json`, it writes that JSON to a file. Any other type fails with `Variable type not supported.` +`value` is what you assign to the variable; `label` is for display only. With `--json` the list is written to a file instead of the console. Any other type fails with `Variable type not supported.` ### Mapping Variables diff --git a/src/commands/configuration-management/api/variable-assignment-candidates-api.ts b/src/commands/configuration-management/api/variable-assignment-candidates-api.ts index 921e2c52..3d45fc37 100644 --- a/src/commands/configuration-management/api/variable-assignment-candidates-api.ts +++ b/src/commands/configuration-management/api/variable-assignment-candidates-api.ts @@ -1,5 +1,5 @@ import {URLSearchParams} from "url"; -import { variableAssignmentApis } from "../interfaces/variable-assignment-apis.constants"; +import { VariableAssignment, variableAssignmentApis } from "../interfaces/variable-assignment-apis.constants"; import { HttpClient } from "../../../core/http/http-client"; import { Context } from "../../../core/command/cli-context"; import { FatalError } from "../../../core/utils/logger"; @@ -12,15 +12,20 @@ export class VariableAssignmentCandidatesApi { this.httpClient = () => context.httpClient; } - public async getCandidateAssignments(type: string, params: URLSearchParams): Promise { - if (!variableAssignmentApis[type]) { + public async getCandidateAssignments(type: string, params: URLSearchParams): Promise { + const assignmentApi = variableAssignmentApis[type]; + if (!assignmentApi) { throw new FatalError(`Variable type ${type} not supported.`); } - const apiUrl: string = variableAssignmentApis[type].url + (params.toString().length ? `?${params.toString()}` : ""); + const apiUrl: string = assignmentApi.url + (params.toString().length ? `?${params.toString()}` : ""); - return this.httpClient().get(apiUrl).catch(e => { + const candidates = await this.httpClient().get(apiUrl).catch(e => { throw new FatalError(`Problem getting variables assignment values for type ${type}: ${e}`); }); + + return (Array.isArray(candidates) ? candidates : []) + .map(candidate => assignmentApi.toAssignment(candidate)) + .filter(assignment => !!assignment.value); } } diff --git a/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts b/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts index 51b45993..0594e693 100644 --- a/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts +++ b/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts @@ -1,15 +1,38 @@ +export interface VariableAssignment { + value: string; + label: string; +} + export interface VariableAssignmentApi { url: string; + toAssignment: (candidate: any) => VariableAssignment; } +const connectionLabel = (connection: any): string => { + const parts = [connection?.authProvider?.label ?? connection?.authProvider?.name, connection?.username].filter(Boolean); + return parts.length ? parts.join(" - ") : connection?.id; +}; + export const variableAssignmentApis: { [key: string]: VariableAssignmentApi } = { DATA_MODEL: { - url: "/package-manager/api/compute-pools/pools-with-data-models" + url: "/package-manager/api/compute-pools/pools-with-data-models", + toAssignment: candidate => ({ + value: candidate?.dataModel?.dataModelId, + label: [candidate?.pool?.name, candidate?.dataModel?.name].filter(Boolean).join(" / ") || candidate?.dataModel?.dataModelId, + }), }, CONNECTION: { - url: "/process-automation-v2/api/connections" + url: "/process-automation-v2/api/connections", + toAssignment: candidate => ({ + value: candidate?.id, + label: connectionLabel(candidate), + }), }, DATA_POOL_ID: { - url: "/integration/api/pools" - } -}; \ No newline at end of file + url: "/integration/api/pools", + toAssignment: candidate => ({ + value: candidate?.id, + label: candidate?.name ?? candidate?.id, + }), + }, +}; diff --git a/src/commands/studio/interfaces/package-manager.interfaces.ts b/src/commands/studio/interfaces/package-manager.interfaces.ts index 07b3eb1c..75750767 100644 --- a/src/commands/studio/interfaces/package-manager.interfaces.ts +++ b/src/commands/studio/interfaces/package-manager.interfaces.ts @@ -69,9 +69,11 @@ export interface VariableDefinition { export enum PackageManagerVariableType { DATA_MODEL="DATA_MODEL", + DATA_POOL_ID="DATA_POOL_ID", CONNECTION="CONNECTION", ASSIGNMENT_RULE="ASSIGNMENT_RULE", - PLAIN_TEXT= "PLAIN_TEXT" + PLAIN_TEXT= "PLAIN_TEXT", + PIG_INSTANCE="PIG_INSTANCE" } export interface PackageHistoryTransport { diff --git a/tests/commands/configuration-management/list-assignments.spec.ts b/tests/commands/configuration-management/list-assignments.spec.ts index 5b7f4621..40fe4e53 100644 --- a/tests/commands/configuration-management/list-assignments.spec.ts +++ b/tests/commands/configuration-management/list-assignments.spec.ts @@ -11,68 +11,94 @@ describe("List assignments", () => { const CONNECTIONS_URL = "https://myTeam.celonis.cloud/process-automation-v2/api/connections?param1=value1¶m2=value2"; const DATA_POOLS_URL = "https://myTeam.celonis.cloud/integration/api/pools"; - it("Should list assignments for supported type and non-json response", async () => { - const mockAssignmentValues = [ - {id: "id-1"}, - {id: "id-2"} - ]; - mockAxiosGet(DATA_MODEL_URL, mockAssignmentValues); + const dataModelCandidate = (poolName: string, dataModelId: string, dataModelName: string) => ({ + pool: {id: "pool-" + dataModelId, name: poolName}, + dataModel: {dataModelId, name: dataModelName, poolId: "pool-" + dataModelId}, + lastLoaded: null, + businessGraphDataModel: false, + }); + + it("Should list data model assignments as value and label", async () => { + mockAxiosGet(DATA_MODEL_URL, [ + dataModelCandidate("Pool 1", "dm-1", "Model 1"), + dataModelCandidate("Pool 2", "dm-2", "Model 2"), + ]); await new VariableCommandService(testContext).listAssignments("DATA_MODEL", false, ""); expect(loggingTestTransport.logMessages.length).toBe(2); - expect(loggingTestTransport.logMessages[0].message).toContain('{"id":"id-1"}'); - expect(loggingTestTransport.logMessages[1].message).toContain('{"id":"id-2"}'); + expect(loggingTestTransport.logMessages[0].message).toContain('{"value":"dm-1","label":"Pool 1 / Model 1"}'); + expect(loggingTestTransport.logMessages[1].message).toContain('{"value":"dm-2","label":"Pool 2 / Model 2"}'); expect(mockedAxiosInstance.get).toHaveBeenCalledWith(DATA_MODEL_URL, expect.anything()) }) it("Should export assignments for supported type and json response", async () => { - const mockAssignmentValues = [ - {id: "id-1"}, - {id: "id-2"} - ]; - mockAxiosGet(DATA_MODEL_URL, mockAssignmentValues); + mockAxiosGet(DATA_MODEL_URL, [ + dataModelCandidate("Pool 1", "dm-1", "Model 1"), + dataModelCandidate("Pool 2", "dm-2", "Model 2"), + ]); await new VariableCommandService(testContext).listAssignments("DATA_MODEL", true, ""); expect(loggingTestTransport.logMessages.length).toBe(1); expect(loggingTestTransport.logMessages[0].message).toContain(FileService.fileDownloadedMessage); - expect(getJsonFromDownloadedFile()).toEqual(mockAssignmentValues); + expect(getJsonFromDownloadedFile()).toEqual([ + {value: "dm-1", label: "Pool 1 / Model 1"}, + {value: "dm-2", label: "Pool 2 / Model 2"}, + ]); }) it("Should contain url params in the url", async () => { - const mockAssignmentValues = [{id: "id-1"}]; - mockAxiosGet(CONNECTIONS_URL, mockAssignmentValues); + mockAxiosGet(CONNECTIONS_URL, [{id: "connection-1"}]); await new VariableCommandService(testContext).listAssignments("CONNECTION", false, "param1=value1,param2=value2"); expect(mockedAxiosInstance.get).toHaveBeenCalledWith(CONNECTIONS_URL, expect.anything()) }) + it("Should label connections by their provider and username", async () => { + mockAxiosGet(CONNECTIONS_URL, [ + {id: "connection-1", username: "jane@celonis.com", authProvider: {name: "celonis", label: "Celonis"}}, + {id: "connection-2"}, + ]); + + await new VariableCommandService(testContext).listAssignments("CONNECTION", true, "param1=value1,param2=value2"); + + expect(getJsonFromDownloadedFile()).toEqual([ + {value: "connection-1", label: "Celonis - jane@celonis.com"}, + {value: "connection-2", label: "connection-2"}, + ]); + }) + it("Should list data pools as assignments for the DATA_POOL_ID type", async () => { - const mockAssignmentValues = [ - {id: "pool-1", name: "Pool 1"}, - {id: "pool-2", name: "Pool 2"} - ]; - mockAxiosGet(DATA_POOLS_URL, mockAssignmentValues); + mockAxiosGet(DATA_POOLS_URL, [ + {id: "pool-1", name: "Pool 1", dataPoolType: "DATA_JOBS"}, + {id: "pool-2", name: "Pool 2", dataPoolType: "DATA_JOBS"}, + ]); await new VariableCommandService(testContext).listAssignments("DATA_POOL_ID", true, ""); expect(mockedAxiosInstance.get).toHaveBeenCalledWith(DATA_POOLS_URL, expect.anything()); - expect(getJsonFromDownloadedFile()).toEqual(mockAssignmentValues); + expect(getJsonFromDownloadedFile()).toEqual([ + {value: "pool-1", label: "Pool 1"}, + {value: "pool-2", label: "Pool 2"}, + ]); + }) + + it("Should skip candidates without a value", async () => { + mockAxiosGet(DATA_POOLS_URL, [{name: "Pool without id"}, {id: "pool-1", name: "Pool 1"}]); + + await new VariableCommandService(testContext).listAssignments("DATA_POOL_ID", true, ""); + + expect(getJsonFromDownloadedFile()).toEqual([{value: "pool-1", label: "Pool 1"}]); }) it("Should throw error for unsupported variable types", async () => { const type: string = "DUMMY_UNSUPPORTED_TYPE"; - try { - await new VariableCommandService(testContext).listAssignments(type, false, ""); - } catch (e) { - if (!(e.message === `Variable type ${type} not supported.`)) { - fail(); - } - } + await expect(new VariableCommandService(testContext).listAssignments(type, false, "")) + .rejects.toThrow(`Variable type ${type} not supported.`); }) -}) \ No newline at end of file +}) From 1bd27983879c5909b6e6e3d3799ee02695c3b887 Mon Sep 17 00:00:00 2001 From: zgjimhaziri Date: Wed, 21 Oct 2026 14:15:51 +0200 Subject: [PATCH 3/5] Name list assignments name instead of label name reads more naturally for callers than label. Co-Authored-By: Claude Opus 5.5 (1M context) --- docs/user-guide/config-commands.md | 6 ++--- .../variable-assignment-apis.constants.ts | 10 ++++----- .../list-assignments.spec.ts | 22 +++++++++---------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/docs/user-guide/config-commands.md b/docs/user-guide/config-commands.md index fb107c0d..997910db 100644 --- a/docs/user-guide/config-commands.md +++ b/docs/user-guide/config-commands.md @@ -384,7 +384,7 @@ The params argument should be passed in a key value format separated by commas w The supported types and the API each one reads: -| Type | Source | `value` | `label` | +| Type | Source | `value` | `name` | |---|---|---|---| | `DATA_MODEL` | `/package-manager/api/compute-pools/pools-with-data-models` | data model id | ` / ` | | `CONNECTION` | `/process-automation-v2/api/connections` | connection id | ` - ` | @@ -393,10 +393,10 @@ The supported types and the API each one reads: Every type returns the same shape, a list of assignments: ```json -[{"value": "4b4f32c8-4529-43f1-9399-2a6de94ac13a", "label": "Order Management Pool"}] +[{"value": "4b4f32c8-4529-43f1-9399-2a6de94ac13a", "name": "Order Management Pool"}] ``` -`value` is what you assign to the variable; `label` is for display only. With `--json` the list is written to a file instead of the console. Any other type fails with `Variable type not supported.` +`value` is what you assign to the variable; `name` is for display only. With `--json` the list is written to a file instead of the console. Any other type fails with `Variable type not supported.` ### Mapping Variables diff --git a/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts b/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts index 0594e693..1b389d06 100644 --- a/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts +++ b/src/commands/configuration-management/interfaces/variable-assignment-apis.constants.ts @@ -1,6 +1,6 @@ export interface VariableAssignment { value: string; - label: string; + name: string; } export interface VariableAssignmentApi { @@ -8,7 +8,7 @@ export interface VariableAssignmentApi { toAssignment: (candidate: any) => VariableAssignment; } -const connectionLabel = (connection: any): string => { +const connectionName = (connection: any): string => { const parts = [connection?.authProvider?.label ?? connection?.authProvider?.name, connection?.username].filter(Boolean); return parts.length ? parts.join(" - ") : connection?.id; }; @@ -18,21 +18,21 @@ export const variableAssignmentApis: { [key: string]: VariableAssignmentApi } = url: "/package-manager/api/compute-pools/pools-with-data-models", toAssignment: candidate => ({ value: candidate?.dataModel?.dataModelId, - label: [candidate?.pool?.name, candidate?.dataModel?.name].filter(Boolean).join(" / ") || candidate?.dataModel?.dataModelId, + name: [candidate?.pool?.name, candidate?.dataModel?.name].filter(Boolean).join(" / ") || candidate?.dataModel?.dataModelId, }), }, CONNECTION: { url: "/process-automation-v2/api/connections", toAssignment: candidate => ({ value: candidate?.id, - label: connectionLabel(candidate), + name: connectionName(candidate), }), }, DATA_POOL_ID: { url: "/integration/api/pools", toAssignment: candidate => ({ value: candidate?.id, - label: candidate?.name ?? candidate?.id, + name: candidate?.name ?? candidate?.id, }), }, }; diff --git a/tests/commands/configuration-management/list-assignments.spec.ts b/tests/commands/configuration-management/list-assignments.spec.ts index 40fe4e53..329ceb2d 100644 --- a/tests/commands/configuration-management/list-assignments.spec.ts +++ b/tests/commands/configuration-management/list-assignments.spec.ts @@ -18,7 +18,7 @@ describe("List assignments", () => { businessGraphDataModel: false, }); - it("Should list data model assignments as value and label", async () => { + it("Should list data model assignments as value and name", async () => { mockAxiosGet(DATA_MODEL_URL, [ dataModelCandidate("Pool 1", "dm-1", "Model 1"), dataModelCandidate("Pool 2", "dm-2", "Model 2"), @@ -27,8 +27,8 @@ describe("List assignments", () => { await new VariableCommandService(testContext).listAssignments("DATA_MODEL", false, ""); expect(loggingTestTransport.logMessages.length).toBe(2); - expect(loggingTestTransport.logMessages[0].message).toContain('{"value":"dm-1","label":"Pool 1 / Model 1"}'); - expect(loggingTestTransport.logMessages[1].message).toContain('{"value":"dm-2","label":"Pool 2 / Model 2"}'); + expect(loggingTestTransport.logMessages[0].message).toContain('{"value":"dm-1","name":"Pool 1 / Model 1"}'); + expect(loggingTestTransport.logMessages[1].message).toContain('{"value":"dm-2","name":"Pool 2 / Model 2"}'); expect(mockedAxiosInstance.get).toHaveBeenCalledWith(DATA_MODEL_URL, expect.anything()) }) @@ -45,8 +45,8 @@ describe("List assignments", () => { expect(loggingTestTransport.logMessages[0].message).toContain(FileService.fileDownloadedMessage); expect(getJsonFromDownloadedFile()).toEqual([ - {value: "dm-1", label: "Pool 1 / Model 1"}, - {value: "dm-2", label: "Pool 2 / Model 2"}, + {value: "dm-1", name: "Pool 1 / Model 1"}, + {value: "dm-2", name: "Pool 2 / Model 2"}, ]); }) @@ -58,7 +58,7 @@ describe("List assignments", () => { expect(mockedAxiosInstance.get).toHaveBeenCalledWith(CONNECTIONS_URL, expect.anything()) }) - it("Should label connections by their provider and username", async () => { + it("Should name connections by their provider and username", async () => { mockAxiosGet(CONNECTIONS_URL, [ {id: "connection-1", username: "jane@celonis.com", authProvider: {name: "celonis", label: "Celonis"}}, {id: "connection-2"}, @@ -67,8 +67,8 @@ describe("List assignments", () => { await new VariableCommandService(testContext).listAssignments("CONNECTION", true, "param1=value1,param2=value2"); expect(getJsonFromDownloadedFile()).toEqual([ - {value: "connection-1", label: "Celonis - jane@celonis.com"}, - {value: "connection-2", label: "connection-2"}, + {value: "connection-1", name: "Celonis - jane@celonis.com"}, + {value: "connection-2", name: "connection-2"}, ]); }) @@ -82,8 +82,8 @@ describe("List assignments", () => { expect(mockedAxiosInstance.get).toHaveBeenCalledWith(DATA_POOLS_URL, expect.anything()); expect(getJsonFromDownloadedFile()).toEqual([ - {value: "pool-1", label: "Pool 1"}, - {value: "pool-2", label: "Pool 2"}, + {value: "pool-1", name: "Pool 1"}, + {value: "pool-2", name: "Pool 2"}, ]); }) @@ -92,7 +92,7 @@ describe("List assignments", () => { await new VariableCommandService(testContext).listAssignments("DATA_POOL_ID", true, ""); - expect(getJsonFromDownloadedFile()).toEqual([{value: "pool-1", label: "Pool 1"}]); + expect(getJsonFromDownloadedFile()).toEqual([{value: "pool-1", name: "Pool 1"}]); }) it("Should throw error for unsupported variable types", async () => { From e1b78cc5a7d5966238404e016095e20ae98b7f7c Mon Sep 17 00:00:00 2001 From: zgjimhaziri Date: Wed, 21 Oct 2026 14:24:38 +0200 Subject: [PATCH 4/5] Shorten list assignments docs to the supported types Co-Authored-By: Claude Opus 5.5 (1M context) --- docs/user-guide/config-commands.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/docs/user-guide/config-commands.md b/docs/user-guide/config-commands.md index 997910db..a9893d72 100644 --- a/docs/user-guide/config-commands.md +++ b/docs/user-guide/config-commands.md @@ -382,22 +382,12 @@ The params argument should be passed in a key value format separated by commas w --params key1=value1,key2=value2,...,keyN=valueN ``` -The supported types and the API each one reads: - -| Type | Source | `value` | `name` | -|---|---|---|---| -| `DATA_MODEL` | `/package-manager/api/compute-pools/pools-with-data-models` | data model id | ` / ` | -| `CONNECTION` | `/process-automation-v2/api/connections` | connection id | ` - ` | -| `DATA_POOL_ID` | `/integration/api/pools` | data pool id | data pool name | - -Every type returns the same shape, a list of assignments: +Supported types are `DATA_MODEL`, `CONNECTION` and `DATA_POOL_ID`. Each returns a list of assignments: ```json [{"value": "4b4f32c8-4529-43f1-9399-2a6de94ac13a", "name": "Order Management Pool"}] ``` -`value` is what you assign to the variable; `name` is for display only. With `--json` the list is written to a file instead of the console. Any other type fails with `Variable type not supported.` - ### Mapping Variables After getting the variables list (with definitions and assignments in the source team) and the assignments (possible values on the target team), you can change the value of the source team to one of the options provided when listing assignments. From 3ac227d6e0abcbaef5cc69bde8171d87004b2b09 Mon Sep 17 00:00:00 2001 From: zgjimhaziri Date: Wed, 21 Oct 2026 14:35:31 +0200 Subject: [PATCH 5/5] Drop unused variable types from PackageManagerVariableType Co-Authored-By: Claude Opus 5.5 (1M context) --- src/commands/studio/interfaces/package-manager.interfaces.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/commands/studio/interfaces/package-manager.interfaces.ts b/src/commands/studio/interfaces/package-manager.interfaces.ts index 75750767..07b3eb1c 100644 --- a/src/commands/studio/interfaces/package-manager.interfaces.ts +++ b/src/commands/studio/interfaces/package-manager.interfaces.ts @@ -69,11 +69,9 @@ export interface VariableDefinition { export enum PackageManagerVariableType { DATA_MODEL="DATA_MODEL", - DATA_POOL_ID="DATA_POOL_ID", CONNECTION="CONNECTION", ASSIGNMENT_RULE="ASSIGNMENT_RULE", - PLAIN_TEXT= "PLAIN_TEXT", - PIG_INSTANCE="PIG_INSTANCE" + PLAIN_TEXT= "PLAIN_TEXT" } export interface PackageHistoryTransport {