Skip to content

feat(orchestration): add Orchestration Cluster API connector template#7375

Open
crobbins215 wants to merge 1 commit into
mainfrom
7374-orchestration-cluster-connector
Open

feat(orchestration): add Orchestration Cluster API connector template#7375
crobbins215 wants to merge 1 commit into
mainfrom
7374-orchestration-cluster-connector

Conversation

@crobbins215

Copy link
Copy Markdown
Contributor

Description

Adds a new first-party element template connector that wraps the Camunda 8 Orchestration Cluster REST API v2. This is the modern, read-only replacement for the deprecated Operate connector.

Layout mirrors the existing connectors/operate connector:

connectors/orchestration/
├── LICENSE.txt                                       Camunda Self-Managed Free Edition
├── README.md
└── element-templates/
    ├── orchestration-connector.json                  current template (version 1)
    └── versioned/
        └── orchestration-connector-1.json            frozen v1 snapshot

What the template offers

  • Read-only by design. Only GET /{entity}/{key} and POST /{entity}/search. No state-changing operations.
  • Entities covered: process instances, process definitions, element instances, incidents, variables, user tasks, jobs, decision instances/definitions/requirements, batch operations, batch operation items (search only), message subscriptions (search only), correlated message subscriptions (search only), audit logs, authorizations, groups, roles, tenants, mapping rules.
  • Deployment modes: Camunda SaaS and Self-Managed, OAuth 2.0 client-credentials only.
  • Pagination: forward/backward cursor and offset-based, per the v2 search-models spec.
  • Defaults: 100-item limit, 20s connection timeout.
  • Engine: Camunda ^8.9.

Reuses the existing io.camunda:http-json:1 outbound connector under the hood — no Java code introduced.

Related issues

closes #7374

Checklist

  • Backport labels are added if these code changes should be backported. No backport label is added to the latest
    release, as this branch will be rebased onto main before the next release. Example backport labels:
    • backport stable/8.8: for changes that should be included in the next 8.8.x release.
    • or backport release-8.8.7: for changes that should be included in the specific release 8.8.7, and this
      release has already been created. The release branch will be merged back into stable/8.8 later, so the change
      will be included in future 8.8.x releases as well.
  • Tests/Integration tests for the changes have been added if applicable.
  • If the change requires a documentation update, it has been added to the appropriate section in the documentation.

Read-only element template that wraps the Camunda 8 Orchestration Cluster
REST API v2. Replaces the deprecated Operate connector. Supports Search
(POST /{entity}/search) and Get by key (GET /{entity}/{key}) across process
instances, definitions, element instances, incidents, variables, user tasks,
jobs, decision instances/definitions/requirements, batch operations, message
subscriptions, audit logs, authorizations, groups, roles, tenants, and
mapping rules. SaaS and Self-Managed deployment with OAuth 2.0 client
credentials. Folder mirrors the operate connector layout.

Related to #7374
Copilot AI review requested due to automatic review settings May 28, 2026 15:32
@crobbins215 crobbins215 requested a review from a team as a code owner May 28, 2026 15:32
@crobbins215 crobbins215 requested a review from ztefanie May 28, 2026 15:32
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@crobbins215

Copy link
Copy Markdown
Contributor Author

Tested with Uros (Consultant) and also tested all endpoints

20/20 tasks succeeded. Process completed end-to-end. No incidents.

ID Endpoint items totalItems cursor
PI /process-instances 3 30 y
PD /process-definitions 3 14 y
EI /element-instances 3 156 y
Inc /incidents 3 6 y
Var /variables 3 659 y
UT /user-tasks 3 28 y
Job /jobs 3 75 y
DI /decision-instances 0 0 -
DD /decision-definitions 0 0 -
DR /decision-requirements 0 0 -
BO /batch-operations 0 0 -
BOI /batch-operation-items 0 0 -
MS /message-subscriptions 0 0 -
CMS /correlated-message-subscriptions 0 0 -
Audit /audit-logs 3 105 y
Auth /authorizations 3 51 y
Grp /groups 0 0 -
Rol /roles 3 6 y
Ten /tenants 1 1 y
MR /mapping-rules 3 3 y

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new first-party, JSON-only element template that wraps the existing io.camunda:http-json:1 connector to expose the read-only Camunda 8 Orchestration Cluster REST API (v2). Mirrors the layout of the deprecated connectors/operate/ connector and is positioned as its replacement.

Changes:

  • Add connectors/orchestration/ with README.md and Self-Managed Free Edition LICENSE.txt.
  • Add current element-templates/orchestration-connector.json (v1) covering 20 v2 entities, SaaS + Self-Managed, OAuth client-credentials, search + get-by-key, cursor/offset pagination, sensible defaults (limit 100, 20s timeout).
  • Add element-templates/versioned/orchestration-connector-1.json as a v1 snapshot of the same template.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
connectors/orchestration/README.md User-facing docs listing supported entities, operations, and requirements.
connectors/orchestration/LICENSE.txt Camunda Self-Managed Free Edition license, matching other first-party connectors.
connectors/orchestration/element-templates/orchestration-connector.json Current element template, version 1, bound to io.camunda:http-json:1.
connectors/orchestration/element-templates/versioned/orchestration-connector-1.json Versioned snapshot — duplicates the current template at the same id/version, which conflicts with the element-template validator's multi-file rules and the release bundling script's flat-file naming.

Comment on lines +4 to +5
"id": "io.camunda.connectors.CamundaOrchestrationCluster.v1",
"version": 1,
Comment on lines +139 to +174
{
"label": "Region",
"group": "cluster",
"type": "String",
"feel": "optional",
"binding": {
"type": "zeebe:input",
"name": "authentication.internal_region"
},
"constraints": {
"notEmpty": true
},
"condition": {
"property": "authentication.internal_deployment_type",
"equals": "saas"
},
"tooltip": "SaaS cluster region, e.g. <code>bru-2</code>, <code>dsm-1</code>. Visible in the cluster overview in Console."
},
{
"label": "Cluster ID",
"group": "cluster",
"type": "String",
"feel": "optional",
"binding": {
"type": "zeebe:input",
"name": "authentication.internal_cluster"
},
"constraints": {
"notEmpty": true
},
"condition": {
"property": "authentication.internal_deployment_type",
"equals": "saas"
},
"tooltip": "SaaS cluster ID. See <a href=\"https://docs.camunda.io/docs/guides/setup-client-connection-credentials\" target=\"_blank\">creating API client credentials</a>."
},
Comment on lines +124 to +128
"id": "authentication.operate_base_url",
"group": "cluster",
"binding": {
"type": "zeebe:input",
"name": "authentication.operate_base_url"
Comment on lines +453 to +472
"label": "Key / ID",
"group": "parameters",
"type": "String",
"feel": "optional",
"binding": {
"type": "zeebe:input",
"name": "input.internal_key"
},
"constraints": {
"notEmpty": true,
"pattern": {
"value": "^(=.*|[A-Za-z0-9_.@-]+)$",
"message": "Numeric key, identifier (letters, digits, _ . @ -), or FEEL expression starting with ="
}
},
"condition": {
"property": "input.internal_operation",
"equals": "/"
},
"tooltip": "Entity identifier. Numeric key (processInstanceKey, incidentKey, variableKey, processDefinitionKey, elementInstanceKey, userTaskKey, jobKey, decisionDefinitionKey, decisionRequirementsKey, decisionEvaluationInstanceKey, batchOperationKey, authorizationKey, auditLogKey) or string ID (groupId, roleId, tenantId, mappingRuleId). Path separators are not allowed."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Camunda Orchestration Cluster API Connector

3 participants