From 7c6ce7548d4279efe427eae02f4827e5d98977e1 Mon Sep 17 00:00:00 2001 From: Cole Isaac <82131455+conceptualshark@users.noreply.github.com> Date: Tue, 17 Dec 2024 10:54:20 -0500 Subject: [PATCH 1/5] add helm variant of keycloak instructions, fix link (#4693) --- .../connect-to-an-existing-keycloak.md | 29 ++++++++++-- .../connect-to-an-existing-keycloak.md | 39 ++++++++++++---- .../connect-to-an-existing-keycloak.md | 45 ++++++++++++++----- .../connect-to-an-existing-keycloak.md | 27 ++++++++++- .../connect-to-an-existing-keycloak.md | 27 ++++++++++- 5 files changed, 141 insertions(+), 26 deletions(-) diff --git a/docs/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md b/docs/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md index 835be739ecc..1ccd5bc75c1 100644 --- a/docs/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md +++ b/docs/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md @@ -5,12 +5,15 @@ sidebar_label: "Connect to an existing Keycloak instance" description: "Learn how to connect Identity to your existing Keycloak instance." --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + In this guide, we'll demonstrate how to connect Identity to your existing Keycloak instance. ## Prerequisites -- Access to your [Keycloak Admin Console](https://www.keycloak.org/docs/23.0.1/server_admin/#using-the-admin-console) -- A basic understanding of [administering realms and clients](https://www.keycloak.org/docs/23.0.1/server_admin/#assembly-managing-clients_server_administration_guide) in Keycloak. +- Access to your [Keycloak Admin Console](https://www.keycloak.org/docs/latest/server_admin/#using-the-admin-console) +- A basic understanding of [administering realms and clients](https://www.keycloak.org/docs/latest/server_admin/#assembly-managing-clients_server_administration_guide) in Keycloak :::note Clients in Camunda 8 SaaS and applications in Camunda 8 Self-Managed provide a similar purpose. One key difference is that for Camunda 8 SaaS, you can set up specific [client connection credentials](/guides/setup-client-connection-credentials.md), whereas in Identity, an application is created with credentials automatically assigned. @@ -24,7 +27,15 @@ As of the 8.5.3 release, Identity uses the Keycloak frontend URL instead of the To avoid connectivity issues, ensure your Keycloak frontend URL is accessible by adjusting your network, firewall, or security settings as needed. This adjustment is crucial to maintain the integration with Keycloak and ensure compatibility. ::: -To connect Identity to an existing Keycloak instance, take the following steps: +To connect Identity to an existing Keycloak instance, take the following steps for your Camunda installation: + + + + 1. Log in to your Keycloak Admin Console. 2. Select the realm you would like to connect Identity to. In our example, this is **camunda-platform**. @@ -56,6 +67,18 @@ To connect Identity to an existing Keycloak instance, take the following steps: ::: 13. Start Identity. + + + +1. Log in to your Keycloak Admin Console. +2. Verify the name of the realm you would like to connect Identity to. In our example, this is **camunda-platform**. + ![keycloak-admin-realm-select](../img/keycloak-admin-realm-select.png) +3. Set the `KEYCLOAK_REALM` [environment variable](/self-managed/identity/deployment/configuration-variables.md) to the realm you selected in **Step 2**. +4. Start Identity. + + + + :::note What does Identity create when starting? Identity creates a base set of configurations required to function successfully. To understand more about what is created and why, see [the starting configuration](/self-managed/identity/deployment/starting-configuration.md). ::: diff --git a/versioned_docs/version-8.3/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md b/versioned_docs/version-8.3/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md index a7ea08ab9fb..513a05bc808 100644 --- a/versioned_docs/version-8.3/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md +++ b/versioned_docs/version-8.3/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md @@ -5,16 +5,27 @@ sidebar_label: "Connect to an existing Keycloak instance" description: "Learn how to connect Identity to your existing Keycloak instance." --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + In this guide, we'll demonstrate how to connect Identity to your existing Keycloak instance. ## Prerequisites -- Access to your [Keycloak Admin Console](https://www.keycloak.org/docs/22.0.1/server_admin/#using-the-admin-console) -- A basic understanding of [administering realms and clients](https://www.keycloak.org/docs/22.0.1/server_admin/#assembly-managing-clients_server_administration_guide) in Keycloak. +- Access to your [Keycloak Admin Console](https://www.keycloak.org/docs/23.0.1/server_admin/#using-the-admin-console) +- A basic understanding of [administering realms and clients](https://www.keycloak.org/docs/latest/server_admin/#assembly-managing-clients_server_administration_guide) in Keycloak ## Steps -To connect Identity to an existing Keycloak instance, take the following steps: +To connect Identity to an existing Keycloak instance, take the following steps for your Camunda installation: + + + + 1. Log in to your Keycloak Admin Console. 2. Select the realm you would like to connect Identity to. In our example, this is **camunda-platform**. @@ -22,7 +33,7 @@ To connect Identity to an existing Keycloak instance, take the following steps: 3. Select **Clients** in the navigation menu, and click the **Create** button to create a new client. 4. Enter a client ID and click **Next**. :::note What client ID should I use? - By default, Identity uses the Client ID `camunda-identity`, so we recommend using this too. If you choose a different client ID, this will need to be set in the Identity application [environment variables](/docs/self-managed/identity/deployment/configuration-variables.md). + By default, Identity uses the Client ID `camunda-identity`, so we recommend using this too. If you choose a different client ID, this will need to be set in the Identity application [environment variables](/self-managed/identity/deployment/configuration-variables.md). ::: ![keycloak-admin-client-add-1](../img/keycloak-admin-client-add-1.png) 5. Toggle **Client authentication** to `on`, select **Service accounts roles** and click **Next**. @@ -38,16 +49,28 @@ To connect Identity to an existing Keycloak instance, take the following steps: Identity is designed to allow users to manage the various entities related to Camunda. To achieve this, it requires specific access to the realm. ::: 10. Navigate to the **Credentials** tab and copy the client secret. -11. Set the `IDENTITY_CLIENT_SECRET` [environment variable](/docs/self-managed/identity/deployment/configuration-variables.md) with the value from **Step 9**. -12. Set the `KEYCLOAK_REALM` [environment variable](/docs/self-managed/identity/deployment/configuration-variables.md) to the realm you selected in **Step 2**. +11. Set the `IDENTITY_CLIENT_SECRET` [environment variable](/self-managed/identity/deployment/configuration-variables.md) with the value from **Step 9**. +12. Set the `KEYCLOAK_REALM` [environment variable](/self-managed/identity/deployment/configuration-variables.md) to the realm you selected in **Step 2**. :::tip If you are using a specific realm, you need to set additional variables to use the intended realm. - See the [environment variables](/docs/self-managed/identity/deployment/configuration-variables.md) page for details of Keycloak-specific variables to consider. + See the [environment variables](/self-managed/identity/deployment/configuration-variables.md) page for details of Keycloak-specific variables to consider. ::: 13. Start Identity. + + + +1. Log in to your Keycloak Admin Console. +2. Verify the name of the realm you would like to connect Identity to. In our example, this is **camunda-platform**. + ![keycloak-admin-realm-select](../img/keycloak-admin-realm-select.png) +3. Set the `KEYCLOAK_REALM` [environment variable](/self-managed/identity/deployment/configuration-variables.md) to the realm you selected in **Step 2**. +4. Start Identity. + + + + :::note What does Identity create when starting? -Identity creates a base set of configurations required to function successfully. To understand more about what is created and why, see [the starting configuration](/docs/self-managed/identity/deployment/starting-configuration.md). +Identity creates a base set of configurations required to function successfully. To understand more about what is created and why, see [the starting configuration](/self-managed/identity/deployment/starting-configuration.md). ::: ## Considerations diff --git a/versioned_docs/version-8.4/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md b/versioned_docs/version-8.4/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md index dbe8c95860f..513a05bc808 100644 --- a/versioned_docs/version-8.4/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md +++ b/versioned_docs/version-8.4/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md @@ -5,16 +5,27 @@ sidebar_label: "Connect to an existing Keycloak instance" description: "Learn how to connect Identity to your existing Keycloak instance." --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + In this guide, we'll demonstrate how to connect Identity to your existing Keycloak instance. -### Prerequisites +## Prerequisites + +- Access to your [Keycloak Admin Console](https://www.keycloak.org/docs/23.0.1/server_admin/#using-the-admin-console) +- A basic understanding of [administering realms and clients](https://www.keycloak.org/docs/latest/server_admin/#assembly-managing-clients_server_administration_guide) in Keycloak -- Access to your [Keycloak Admin Console](https://www.keycloak.org/docs/22.0.1/server_admin/#using-the-admin-console) -- A basic understanding of [administering realms and clients](https://www.keycloak.org/docs/22.0.1/server_admin/#assembly-managing-clients_server_administration_guide) in Keycloak. +## Steps -### Steps +To connect Identity to an existing Keycloak instance, take the following steps for your Camunda installation: -To connect Identity to an existing Keycloak instance, take the following steps: + + + 1. Log in to your Keycloak Admin Console. 2. Select the realm you would like to connect Identity to. In our example, this is **camunda-platform**. @@ -22,7 +33,7 @@ To connect Identity to an existing Keycloak instance, take the following steps: 3. Select **Clients** in the navigation menu, and click the **Create** button to create a new client. 4. Enter a client ID and click **Next**. :::note What client ID should I use? - By default, Identity uses the Client ID `camunda-identity`, so we recommend using this too. If you choose a different client ID, this will need to be set in the Identity application [environment variables](/docs/self-managed/identity/deployment/configuration-variables.md). + By default, Identity uses the Client ID `camunda-identity`, so we recommend using this too. If you choose a different client ID, this will need to be set in the Identity application [environment variables](/self-managed/identity/deployment/configuration-variables.md). ::: ![keycloak-admin-client-add-1](../img/keycloak-admin-client-add-1.png) 5. Toggle **Client authentication** to `on`, select **Service accounts roles** and click **Next**. @@ -38,19 +49,31 @@ To connect Identity to an existing Keycloak instance, take the following steps: Identity is designed to allow users to manage the various entities related to Camunda. To achieve this, it requires specific access to the realm. ::: 10. Navigate to the **Credentials** tab and copy the client secret. -11. Set the `IDENTITY_CLIENT_SECRET` [environment variable](/docs/self-managed/identity/deployment/configuration-variables.md) with the value from **Step 9**. -12. Set the `KEYCLOAK_REALM` [environment variable](/docs/self-managed/identity/deployment/configuration-variables.md) to the realm you selected in **Step 2**. +11. Set the `IDENTITY_CLIENT_SECRET` [environment variable](/self-managed/identity/deployment/configuration-variables.md) with the value from **Step 9**. +12. Set the `KEYCLOAK_REALM` [environment variable](/self-managed/identity/deployment/configuration-variables.md) to the realm you selected in **Step 2**. :::tip If you are using a specific realm, you need to set additional variables to use the intended realm. - See the [environment variables](/docs/self-managed/identity/deployment/configuration-variables.md) page for details of Keycloak-specific variables to consider. + See the [environment variables](/self-managed/identity/deployment/configuration-variables.md) page for details of Keycloak-specific variables to consider. ::: 13. Start Identity. + + + +1. Log in to your Keycloak Admin Console. +2. Verify the name of the realm you would like to connect Identity to. In our example, this is **camunda-platform**. + ![keycloak-admin-realm-select](../img/keycloak-admin-realm-select.png) +3. Set the `KEYCLOAK_REALM` [environment variable](/self-managed/identity/deployment/configuration-variables.md) to the realm you selected in **Step 2**. +4. Start Identity. + + + + :::note What does Identity create when starting? -Identity creates a base set of configurations required to function successfully. To understand more about what is created and why, see [the starting configuration](/docs/self-managed/identity/deployment/starting-configuration.md). +Identity creates a base set of configurations required to function successfully. To understand more about what is created and why, see [the starting configuration](/self-managed/identity/deployment/starting-configuration.md). ::: -### Considerations +## Considerations When connecting Identity to a shared realm, accurately determining what clients should and should not be displayed in the Identity UI is not possible. Therefore, the clients in the realm you connect Identity to will be shown in the Identity UI and can have their secrets viewed and updated. Users with access to Identity should be considered as having administrator-level access to the system. diff --git a/versioned_docs/version-8.5/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md b/versioned_docs/version-8.5/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md index 835be739ecc..2e61c28b921 100644 --- a/versioned_docs/version-8.5/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md +++ b/versioned_docs/version-8.5/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md @@ -5,12 +5,15 @@ sidebar_label: "Connect to an existing Keycloak instance" description: "Learn how to connect Identity to your existing Keycloak instance." --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + In this guide, we'll demonstrate how to connect Identity to your existing Keycloak instance. ## Prerequisites - Access to your [Keycloak Admin Console](https://www.keycloak.org/docs/23.0.1/server_admin/#using-the-admin-console) -- A basic understanding of [administering realms and clients](https://www.keycloak.org/docs/23.0.1/server_admin/#assembly-managing-clients_server_administration_guide) in Keycloak. +- A basic understanding of [administering realms and clients](https://www.keycloak.org/docs/latest/server_admin/#assembly-managing-clients_server_administration_guide) in Keycloak :::note Clients in Camunda 8 SaaS and applications in Camunda 8 Self-Managed provide a similar purpose. One key difference is that for Camunda 8 SaaS, you can set up specific [client connection credentials](/guides/setup-client-connection-credentials.md), whereas in Identity, an application is created with credentials automatically assigned. @@ -24,7 +27,15 @@ As of the 8.5.3 release, Identity uses the Keycloak frontend URL instead of the To avoid connectivity issues, ensure your Keycloak frontend URL is accessible by adjusting your network, firewall, or security settings as needed. This adjustment is crucial to maintain the integration with Keycloak and ensure compatibility. ::: -To connect Identity to an existing Keycloak instance, take the following steps: +To connect Identity to an existing Keycloak instance, take the following steps for your Camunda installation: + + + + 1. Log in to your Keycloak Admin Console. 2. Select the realm you would like to connect Identity to. In our example, this is **camunda-platform**. @@ -56,6 +67,18 @@ To connect Identity to an existing Keycloak instance, take the following steps: ::: 13. Start Identity. + + + +1. Log in to your Keycloak Admin Console. +2. Verify the name of the realm you would like to connect Identity to. In our example, this is **camunda-platform**. + ![keycloak-admin-realm-select](../img/keycloak-admin-realm-select.png) +3. Set the `KEYCLOAK_REALM` [environment variable](/self-managed/identity/deployment/configuration-variables.md) to the realm you selected in **Step 2**. +4. Start Identity. + + + + :::note What does Identity create when starting? Identity creates a base set of configurations required to function successfully. To understand more about what is created and why, see [the starting configuration](/self-managed/identity/deployment/starting-configuration.md). ::: diff --git a/versioned_docs/version-8.6/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md b/versioned_docs/version-8.6/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md index 835be739ecc..2e61c28b921 100644 --- a/versioned_docs/version-8.6/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md +++ b/versioned_docs/version-8.6/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md @@ -5,12 +5,15 @@ sidebar_label: "Connect to an existing Keycloak instance" description: "Learn how to connect Identity to your existing Keycloak instance." --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + In this guide, we'll demonstrate how to connect Identity to your existing Keycloak instance. ## Prerequisites - Access to your [Keycloak Admin Console](https://www.keycloak.org/docs/23.0.1/server_admin/#using-the-admin-console) -- A basic understanding of [administering realms and clients](https://www.keycloak.org/docs/23.0.1/server_admin/#assembly-managing-clients_server_administration_guide) in Keycloak. +- A basic understanding of [administering realms and clients](https://www.keycloak.org/docs/latest/server_admin/#assembly-managing-clients_server_administration_guide) in Keycloak :::note Clients in Camunda 8 SaaS and applications in Camunda 8 Self-Managed provide a similar purpose. One key difference is that for Camunda 8 SaaS, you can set up specific [client connection credentials](/guides/setup-client-connection-credentials.md), whereas in Identity, an application is created with credentials automatically assigned. @@ -24,7 +27,15 @@ As of the 8.5.3 release, Identity uses the Keycloak frontend URL instead of the To avoid connectivity issues, ensure your Keycloak frontend URL is accessible by adjusting your network, firewall, or security settings as needed. This adjustment is crucial to maintain the integration with Keycloak and ensure compatibility. ::: -To connect Identity to an existing Keycloak instance, take the following steps: +To connect Identity to an existing Keycloak instance, take the following steps for your Camunda installation: + + + + 1. Log in to your Keycloak Admin Console. 2. Select the realm you would like to connect Identity to. In our example, this is **camunda-platform**. @@ -56,6 +67,18 @@ To connect Identity to an existing Keycloak instance, take the following steps: ::: 13. Start Identity. + + + +1. Log in to your Keycloak Admin Console. +2. Verify the name of the realm you would like to connect Identity to. In our example, this is **camunda-platform**. + ![keycloak-admin-realm-select](../img/keycloak-admin-realm-select.png) +3. Set the `KEYCLOAK_REALM` [environment variable](/self-managed/identity/deployment/configuration-variables.md) to the realm you selected in **Step 2**. +4. Start Identity. + + + + :::note What does Identity create when starting? Identity creates a base set of configurations required to function successfully. To understand more about what is created and why, see [the starting configuration](/self-managed/identity/deployment/starting-configuration.md). ::: From ea02f41d6086b0e1ec901677e6ce3591fe131193 Mon Sep 17 00:00:00 2001 From: Steven Hicks Date: Tue, 17 Dec 2024 10:07:17 -0600 Subject: [PATCH 2/5] fix(docusaurus 3): update docs to be mdx v3 compliant (#4781) * fix(d3 prep): remove unnecessary version from sidebars paths * fix(d3 prep): acorn parsing errors * fix(doc3 prep): self-close br tags * fix(doc3 prep): break up opening tags with content but no closing tag * fix(doc3 prep): break up opening tags with content but no closing tag * fix(doc3 prep): break up opening tags with content but no closing tag * fix(doc3 prep): break up opening tags with content but no closing tag * fixup * fix(doc3 prep): close admonitions properly * fix(doc3 prep): escape curly braces * fix(doc3 prep): escape curly braces * fix(doc3 prep): escape curly braces * fix(doc3 prep): escape curly braces * fix(doc3 prep): escape curly braces * fix(doc3 prep): escape angle brackets * fix(doc3 prep): close tags all the way * oops: fix angle brackets --- .../invoking-services-from-the-process-c7.md | 64 ++++++--- .../routing-events-to-processes-c7.md | 3 +- .../choosing-the-resource-binding-type.md | 3 +- .../concepts/process-instance-creation.md | 24 ++-- .../out-of-the-box-connectors/email.md | 4 +- .../early-access/alpha/sap/odata-connector.md | 2 +- .../rpa/camunda-rpa-framework-library.md | 4 +- .../desktop-modeler/telemetry/telemetry.md | 8 +- docs/reference/notices.md | 8 +- .../update-guide/840-to-850.md | 10 +- .../zeebe-deployment/configuration/gateway.md | 6 +- howtos/technical-writing-cheatsheet.md | 52 +++---- howtos/technical-writing-styleguide.md | 128 +++++++++--------- .../optimize-api/event-ingestion.md | 76 ++++++----- .../system-configuration-platform-7.md | 28 ++-- .../configuration/system-configuration.md | 48 +++---- .../optimize-api/event-ingestion.md | 76 ++++++----- .../external-variable-ingestion.md | 38 +++--- .../system-configuration-platform-7.md | 28 ++-- .../configuration/system-configuration.md | 48 +++---- .../optimize-api/event-ingestion.md | 76 ++++++----- .../system-configuration-platform-7.md | 28 ++-- .../configuration/system-configuration.md | 48 +++---- .../optimize-api/event-ingestion.md | 76 ++++++----- .../system-configuration-platform-7.md | 28 ++-- .../configuration/system-configuration.md | 48 +++---- .../optimize-api/event-ingestion.md | 76 ++++++----- .../system-configuration-platform-7.md | 28 ++-- .../configuration/system-configuration.md | 48 +++---- .../apis-tools/operate-api/overview.md | 4 +- .../invoking-services-from-the-process-c7.md | 60 +++++--- .../concepts/process-instance-creation.md | 24 ++-- .../desktop-modeler/telemetry/telemetry.md | 8 +- .../version-8.3/reference/notices.md | 8 +- .../zeebe-deployment/configuration/gateway.md | 3 +- .../invoking-services-from-the-process-c7.md | 61 ++++++--- .../concepts/process-instance-creation.md | 24 ++-- .../desktop-modeler/telemetry/telemetry.md | 8 +- .../version-8.4/reference/notices.md | 8 +- .../zeebe-deployment/configuration/gateway.md | 3 +- .../invoking-services-from-the-process-c7.md | 61 ++++++--- .../concepts/process-instance-creation.md | 24 ++-- .../desktop-modeler/telemetry/telemetry.md | 8 +- .../version-8.5/reference/notices.md | 8 +- .../update-guide/840-to-850.md | 10 +- .../zeebe-deployment/configuration/gateway.md | 3 +- .../invoking-services-from-the-process-c7.md | 61 ++++++--- .../choosing-the-resource-binding-type.md | 3 +- .../concepts/process-instance-creation.md | 24 ++-- .../out-of-the-box-connectors/email.md | 4 +- .../desktop-modeler/telemetry/telemetry.md | 8 +- .../version-8.6/reference/notices.md | 8 +- .../update-guide/840-to-850.md | 10 +- .../zeebe-deployment/configuration/gateway.md | 6 +- versioned_sidebars/version-8.4-sidebars.json | 64 ++++----- 55 files changed, 878 insertions(+), 749 deletions(-) diff --git a/docs/components/best-practices/development/invoking-services-from-the-process-c7.md b/docs/components/best-practices/development/invoking-services-from-the-process-c7.md index 4e05898330d..55a56b87420 100644 --- a/docs/components/best-practices/development/invoking-services-from-the-process-c7.md +++ b/docs/components/best-practices/development/invoking-services-from-the-process-c7.md @@ -160,7 +160,8 @@ Only if the increased latency does not work for your use case, for example, beca -

Call a named bean or java class implementing the +

+ Call a named bean or java class implementing the JavaDelegate interface.

@@ -168,14 +169,17 @@ Only if the increased latency does not work for your use case, for example, beca

Evaluate an expression using JUEL.

-

Use a configurable Connector +

+ Use a configurable Connector
(REST or SOAP services provided out-of-the-box).

-

Pull a service task into an external worker thread and inform process engine of -completion.

+

+ Pull a service task into an external worker thread and inform process engine of +completion. +

Execute a script inside the engine.

@@ -183,9 +187,10 @@ completion.

-

Use with +

+ Use with
- BPMN elements. + BPMN elements.

@@ -252,17 +257,20 @@ completion.

-

Implement +

+ Implement
- via + via

Java (in same JVM)

-

Expression Language -(can reference Java code)

+

+ Expression Language +(can reference Java code) +

BPMN configuration

@@ -377,9 +385,11 @@ completion.

Configure via

-

BPMN Attribute +

+ BPMN Attribute
- serviceTask + + serviceTask
camunda:
@@ -390,9 +400,11 @@ completion.

-

BPMN Attribute +

+ BPMN Attribute
- serviceTask + + serviceTask
camunda:
@@ -401,9 +413,11 @@ completion.

-

BPMN Attribute +

+ BPMN Attribute
- serviceTask + + serviceTask
camunda:
@@ -412,9 +426,11 @@ completion.

-

BPMN Ext. Element+ +

+ BPMN Ext. Element+ - serviceTask + + serviceTask
camunda:
@@ -423,9 +439,11 @@ completion.

-

BPMN Attributes +

+ BPMN Attributes
- serviceTask + + serviceTask
camunda:
@@ -438,13 +456,15 @@ completion.

-

BPMN Element +

+ BPMN Element
script or
BPMN Attribute
- scriptTask + + scriptTask
camunda:
diff --git a/docs/components/best-practices/development/routing-events-to-processes-c7.md b/docs/components/best-practices/development/routing-events-to-processes-c7.md index 373e6ec7165..cacd64f7c15 100644 --- a/docs/components/best-practices/development/routing-events-to-processes-c7.md +++ b/docs/components/best-practices/development/routing-events-to-processes-c7.md @@ -327,10 +327,11 @@ public class InvoiceMDB implements MessageListener { The provided REST API can be directly used to communicate with the workflow engine remotely. -``` POST /process-definition/key/invoice/start Request body: + +``` { "variables": { "invoiceId" : {"value" : "123456", "type": "String"} diff --git a/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md b/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md index f263474207a..f34b1de93cd 100644 --- a/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md +++ b/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md @@ -56,7 +56,8 @@ Camunda 8 supports the following binding types:

  • This option ensures predictable behavior by tying the two versions together, and allows you to deploy future versions of the target resource without disrupting ongoing process instances.

  • It is ideal for self-contained projects without external or shared dependencies.

  • -

    To use the deployment binding option, create and deploy a process application in Web Modeler, +

    + To use the deployment binding option, create and deploy a process application in Web Modeler, or deploy multiple resources together via the Zeebe API.

  • diff --git a/docs/components/concepts/process-instance-creation.md b/docs/components/concepts/process-instance-creation.md index 26e1b4ad3b7..04f1d5369c8 100644 --- a/docs/components/concepts/process-instance-creation.md +++ b/docs/components/concepts/process-instance-creation.md @@ -26,9 +26,10 @@ This command creates a new process instance and immediately responds with the pr ![create-process](assets/create-process.png) -
    - Code example -

    Create a process instance: +

    + Code example +

    +Create a process instance: ``` zbctl create instance "order-process" @@ -38,16 +39,16 @@ Response: ``` { - "processKey": 2251799813685249, - "bpmnProcessId": "order-process", - "version": 1, - "processInstanceKey": 2251799813686019 + "processKey": 2251799813685249, + "bpmnProcessId": "order-process", + "version": 1, + "processInstanceKey": 2251799813686019 } ``` -

    -
    +

    +
    ### Create and await results @@ -67,7 +68,8 @@ When the client resends the command, it creates a new process instance.
    Code example -

    Create a process instance and await results: +

    +Create a process instance and await results: ``` zbctl create instance "order-process" --withResult --variables '{"orderId": "1234"}' @@ -123,7 +125,7 @@ Start instructions are supported for both `CreateProcessInstance` commands.

    Code example

    - Create a process instance starting before the 'ship_parcel' element: +Create a process instance starting before the 'ship_parcel' element: ```java client.newCreateInstanceCommand() diff --git a/docs/components/connectors/out-of-the-box-connectors/email.md b/docs/components/connectors/out-of-the-box-connectors/email.md index f5364b1f0f5..698498a3488 100644 --- a/docs/components/connectors/out-of-the-box-connectors/email.md +++ b/docs/components/connectors/out-of-the-box-connectors/email.md @@ -259,7 +259,7 @@ object with a field and a value. - If an operator is set, the criteria array must also be defined. - Each criterion within the criteria array is applied to the specified field based on the value associated with it. -:::note +::: #### Example Response @@ -559,7 +559,7 @@ object with a field and a value. - If an operator is set, the criteria array must also be defined. - Each criterion within the criteria array is applied to the specified field based on the value associated with it. -:::note +::: #### Example Response diff --git a/docs/components/early-access/alpha/sap/odata-connector.md b/docs/components/early-access/alpha/sap/odata-connector.md index 177bdd37cc4..12391fe8514 100644 --- a/docs/components/early-access/alpha/sap/odata-connector.md +++ b/docs/components/early-access/alpha/sap/odata-connector.md @@ -168,4 +168,4 @@ If the SAP OData Connector encounters an error, the boundary event will catch th - Ensure the connection from the Cloud Foundry environment via the destination to the SAP systems works. Using the [Terminal in Business Application Studio](https://community.sap.com/t5/technology-blogs-by-sap/how-to-check-the-connectivity-to-your-backend-system-in-business/ba-p/13479832) is a quick way to verify this. - Validate requests first in an API client before trying with the SAP OData Connector in Modeler. Then, copy over to the element template fields. This saves time and reduces potential error. -- Any payload size <= 2.5MB can be considered safe. +- Any payload size <= 2.5MB can be considered safe. diff --git a/docs/components/early-access/experimental/rpa/camunda-rpa-framework-library.md b/docs/components/early-access/experimental/rpa/camunda-rpa-framework-library.md index fac4bdb0f66..f4f140d7962 100644 --- a/docs/components/early-access/experimental/rpa/camunda-rpa-framework-library.md +++ b/docs/components/early-access/experimental/rpa/camunda-rpa-framework-library.md @@ -29,8 +29,8 @@ Set Output Variable {variableName} {value} ### Parameters -- {variable_name}: The name of the variable you want to set or update. -- {value}: The value you want to assign to the variable. +- \{variable_name}: The name of the variable you want to set or update. +- \{value}: The value you want to assign to the variable. ### Example diff --git a/docs/components/modeler/desktop-modeler/telemetry/telemetry.md b/docs/components/modeler/desktop-modeler/telemetry/telemetry.md index e3cf95ea26f..7f177d47b94 100644 --- a/docs/components/modeler/desktop-modeler/telemetry/telemetry.md +++ b/docs/components/modeler/desktop-modeler/telemetry/telemetry.md @@ -54,8 +54,8 @@ These events include the following properties: - `diagramType`: BPMN, DMN, or Form - Engine profile: - - `executionPlatform`: - - `executionPlatformVersion`: + - `executionPlatform`: <target platform\> + - `executionPlatformVersion`: <target platform version\> In the case of a form, the payload also includes the `formFieldTypes`: @@ -78,8 +78,8 @@ The `Deployment Event` and `Start Instance` have the following properties: - `diagramType`: BPMN, DMN, or Form - Engine profile: - - `executionPlatform`: - - `executionPlatformVersion`: + - `executionPlatform`: <target platform\> + - `executionPlatformVersion`: <target platform version\> In the event of an unsuccessful deployment, an `error` property will be present in the payload containing an error code. diff --git a/docs/reference/notices.md b/docs/reference/notices.md index 73345041658..60b0a1322ba 100644 --- a/docs/reference/notices.md +++ b/docs/reference/notices.md @@ -74,11 +74,11 @@ Tasklist The REST API functionality of Tasklist 8.2.0 and 8.2.1 allows unauthenticated access to the following methods/URLs: -- GET /v1/tasks/{taskId} +- GET /v1/tasks/\{taskId} - POST /v1/tasks/search -- POST /v1/tasks/{taskId}/variables/search -- POST /v1/forms/{formId} -- POST /v1/variables/{variableId} +- POST /v1/tasks/\{taskId}/variables/search +- POST /v1/forms/\{formId} +- POST /v1/variables/\{variableId} Find more information about the methods in our [Tasklist REST API documentation](/apis-tools/tasklist-api-rest/tasklist-api-rest-overview.md). diff --git a/docs/self-managed/operational-guides/update-guide/840-to-850.md b/docs/self-managed/operational-guides/update-guide/840-to-850.md index b94830b187a..0a36d850327 100644 --- a/docs/self-managed/operational-guides/update-guide/840-to-850.md +++ b/docs/self-managed/operational-guides/update-guide/840-to-850.md @@ -31,11 +31,11 @@ Note that there is **no** actual corruption or data loss, however. The broker health check routes have moved, and the old routes are now deprecated. Specifically, the following routes will return [a status code of 301](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301) and redirect you. See the table below about the new mappings: -| Old route | **New route** | -| --------------------------------------- | ------------------------------------------------------------- | -| http://{zeebe-broker-host}:9600/health | **http://{zeebe-broker-host}:9600/actuator/health/status** | -| http://{zeebe-broker-host}:9600/ready | **http://{zeebe-broker-host}:9600/actuator/health/readiness** | -| http://{zeebe-broker-host}:9600/startup | **http://{zeebe-broker-host}:9600/actuator/health/startup** | +| Old route | **New route** | +| ---------------------------------------- | -------------------------------------------------------------- | +| http://\{zeebe-broker-host}:9600/health | **http://\{zeebe-broker-host}:9600/actuator/health/status** | +| http://\{zeebe-broker-host}:9600/ready | **http://\{zeebe-broker-host}:9600/actuator/health/readiness** | +| http://\{zeebe-broker-host}:9600/startup | **http://\{zeebe-broker-host}:9600/actuator/health/startup** | Please migrate to the new routes in your deployments. **If you're using the official Helm charts, then you don't have to do anything here.** diff --git a/docs/self-managed/zeebe-deployment/configuration/gateway.md b/docs/self-managed/zeebe-deployment/configuration/gateway.md index 05871704477..b0b31c27b81 100644 --- a/docs/self-managed/zeebe-deployment/configuration/gateway.md +++ b/docs/self-managed/zeebe-deployment/configuration/gateway.md @@ -410,7 +410,8 @@ Each interceptor should be configured with the values described below: className - Entry point of the interceptor, a class which must: + + Entry point of the interceptor, a class which must:

  • implement io.grpc.ServerInterceptor
  • have public visibility
  • have a public default constructor (i.e. no-arg constructor)
  • @@ -457,7 +458,8 @@ Each filter should be configured with the values described below: className - Entry point of the filter, a class which must: + + Entry point of the filter, a class which must:
  • implement jakarta.servlet.Filter
  • have public visibility
  • have a public default constructor (i.e. no-arg constructor)
  • diff --git a/howtos/technical-writing-cheatsheet.md b/howtos/technical-writing-cheatsheet.md index 63792078094..1e70d17aab8 100644 --- a/howtos/technical-writing-cheatsheet.md +++ b/howtos/technical-writing-cheatsheet.md @@ -10,40 +10,40 @@ Our primary goal in documentation is to achieve organization, clarity, and direc ## Grammar -| Subject | Practice | Avoid | Example/Use | -| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------- | -| Bolding | Bold when referring to button names or items to select. | Click "Create New Diagram." | Click **Create New Diagram** under the **Diagrams** tab. | -| Italics | Use when applying emphasis to a word. | Click _Create New Diagram_. | Click **Create New Diagram**. | -| Numbers | Write whole numbers one through nine in full. Write whole numbers 10 and upwards as numerals. | In this example, we will create 1 diagram. | In this example, we will create one diagram. | -| Spelling | Default to American spelling and US English. Visit the [Oxford American Dictionary](https://www.oxfordreference.com/view/10.1093/acref/9780195392883.001.0001/acref-9780195392883) for details. | Analyse

    Bernd Rücker | Analyze

    Bernd Ruecker | -| Voice/Tense | Second person, [active voice](https://www.grammarly.com/blog/active-vs-passive-voice/#:~:text=Active%20voice%20means%20that%20a,it%20isn't%20that%20simple.). | I, me, my.

    The computer is turned on by pressing the power button. | You, your.

    Press the power button to turn on the computer. | +| Subject | Practice | Avoid | Example/Use | +| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Bolding | Bold when referring to button names or items to select. | Click "Create New Diagram." | Click **Create New Diagram** under the **Diagrams** tab. | +| Italics | Use when applying emphasis to a word. | Click _Create New Diagram_. | Click **Create New Diagram**. | +| Numbers | Write whole numbers one through nine in full. Write whole numbers 10 and upwards as numerals. | In this example, we will create 1 diagram. | In this example, we will create one diagram. | +| Spelling | Default to American spelling and US English. Visit the [Oxford American Dictionary](https://www.oxfordreference.com/view/10.1093/acref/9780195392883.001.0001/acref-9780195392883) for details. | Analyse

    Bernd Rücker | Analyze

    Bernd Ruecker | +| Voice/Tense | Second person, [active voice](https://www.grammarly.com/blog/active-vs-passive-voice/#:~:text=Active%20voice%20means%20that%20a,it%20isn't%20that%20simple.). | I, me, my.

    The computer is turned on by pressing the power button. | You, your.

    Press the power button to turn on the computer. | ## Punctuation -| Subject | Practice | Avoid | Example/Use | -| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- | -| Commas | Camunda uses the [Oxford comma](https://www.grammarly.com/blog/what-is-the-oxford-comma-and-why-do-people-care-so-much-about-it/).

    Use a comma to separate independent clauses when they are joined by [coordinating conjunctions](https://www.grammarly.com/blog/coordinating-conjunctions/) like and, but, for, so.

    Use a comma to separate a sentence introduction from the remainder of the sentence content (Therefore, Thus, As a result, So, Henceforth,) | Camunda loves its products, GitHub and Google Analytics.

    We want to automate a process so let’s start by creating an account. | Camunda loves its products, GitHub, and Google Analytics.

    We want to automate a process, so let’s start by creating an account. | -| Hyphens | Use the hyphen (-) to create a compound adjective (two describing words together). | User friendly interface. | User-friendly interface. | -| Quotation marks | Only use double quotations to illustrate the words spoken by another individual. | Navigate to the "Decisions" section. | Navigate to the **Decisions** section. | +| Subject | Practice | Avoid | Example/Use | +| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| Commas | Camunda uses the [Oxford comma](https://www.grammarly.com/blog/what-is-the-oxford-comma-and-why-do-people-care-so-much-about-it/).

    Use a comma to separate independent clauses when they are joined by [coordinating conjunctions](https://www.grammarly.com/blog/coordinating-conjunctions/) like and, but, for, so.

    Use a comma to separate a sentence introduction from the remainder of the sentence content (Therefore, Thus, As a result, So, Henceforth,) | Camunda loves its products, GitHub and Google Analytics.

    We want to automate a process so let’s start by creating an account. | Camunda loves its products, GitHub, and Google Analytics.

    We want to automate a process, so let’s start by creating an account. | +| Hyphens | Use the hyphen (-) to create a compound adjective (two describing words together). | User friendly interface. | User-friendly interface. | +| Quotation marks | Only use double quotations to illustrate the words spoken by another individual. | Navigate to the "Decisions" section. | Navigate to the **Decisions** section. | ## Formatting, organization and structure for conceptual pieces and implementation steps -| Subject | Practice | Avoid | Example/Use | -| ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -| [Admonitions](https://docusaurus.io/docs/markdown-features/admonitions) | Utilize the note [admonition](https://docusaurus.io/docs/markdown-features/admonitions) to separate important notes in documents according to [Docusaurus’ guidance](https://docusaurus.io/docs/markdown-features/admonitions). | Note: This is the `bpmnProcessId`, you'll need to create a new instance. | :::note
    This is the `bpmnProcessId`, you'll need to create a new instance.
    ::: | -| Breaking changes | If you are documenting a breaking change, please ensure this is noted in appropriate/relevant docs outside of solely update guides and announcements. | N/A | N/A | -| Button names | Click **Next**.

    Use the arrow icon > to list out a series of buttons the user needs to press. | Italics and quotes.

    Click "Next" and then select "Open" and press "Enter". | Click **Next > Open > Enter** | -| Filenames | Place filenames within a code block. | Avoid bolding or italicizing filenames. | Open `codeStuff.txt`
    In the **Name** box enter `project1`. | -| Images and gifs | Ensure your images are appropriate in size and clarity.
    All images should include alt text.
    Crop the user bar and any personal information out of your photo or screenshot.
    Gifs are strongly discouraged in place of text for maintainability and accessibility purposes. | Avoid blurry screenshots.
    Avoid including any personal information in your images. If a username must be included, use "My organization".
    Avoid images that are unnecessarily large or bulky to keep the page clean and concise. | N/A | -| Titles and headers | Sentence case spelling in titles and headers.

    For sentence case spelling, only capitalize the first word and any proper nouns. | How To Open A File

    Our travel guide to berlin, germany | How to open a file

    Our travel guide to Berlin, Germany | +| Subject | Practice | Avoid | Example/Use | +| ----------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| [Admonitions](https://docusaurus.io/docs/markdown-features/admonitions) | Utilize the note [admonition](https://docusaurus.io/docs/markdown-features/admonitions) to separate important notes in documents according to [Docusaurus’ guidance](https://docusaurus.io/docs/markdown-features/admonitions). | Note: This is the `bpmnProcessId`, you'll need to create a new instance. | :::note
    This is the `bpmnProcessId`, you'll need to create a new instance.
    ::: | +| Breaking changes | If you are documenting a breaking change, please ensure this is noted in appropriate/relevant docs outside of solely update guides and announcements. | N/A | N/A | +| Button names | Click **Next**.

    Use the arrow icon > to list out a series of buttons the user needs to press. | Italics and quotes.

    Click "Next" and then select "Open" and press "Enter". | Click **Next > Open > Enter** | +| Filenames | Place filenames within a code block. | Avoid bolding or italicizing filenames. | Open `codeStuff.txt`
    In the **Name** box enter `project1`. | +| Images and gifs | Ensure your images are appropriate in size and clarity.
    All images should include alt text.
    Crop the user bar and any personal information out of your photo or screenshot.
    Gifs are strongly discouraged in place of text for maintainability and accessibility purposes. | Avoid blurry screenshots.
    Avoid including any personal information in your images. If a username must be included, use "My organization".
    Avoid images that are unnecessarily large or bulky to keep the page clean and concise. | N/A | +| Titles and headers | Sentence case spelling in titles and headers.

    For sentence case spelling, only capitalize the first word and any proper nouns. | How To Open A File

    Our travel guide to berlin, germany | How to open a file

    Our travel guide to Berlin, Germany | ## Product names and other terminology **NOTE: This section is an overview of a few commonly misunderstood Camunda terms. Refer to this summary of [OMG specifications](https://www.omg.org/spec/category/business-modeling/) when referring to acronyms within your documentation.** -| Term/Acronym | Meaning | Avoid | Use | -| ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- | -| [Cluster](https://docs.camunda.io/docs/product-manuals/zeebe/technical-concepts/clustering) | A cluster represents a configuration of one or more brokers collaborating to execute processes. | Avoid using capitalized "Cluster" when it is not the first word in a sentence.

    This also applies to terms like process instance and task. | "Zeebe implements the Gossip protocol to know which brokers are currently part of the cluster." | -| [Elasticsearch](https://github.com/camunda-community-hub/camunda-bpm-elasticsearch) | A free, open, and multitenant-capable search engine. | Elastic search, ElasticSearch | Elasticsearch | -| GitHub | A provider of internet hosting for software development. | Github | GitHub | -| OpenSearch | OpenSearch is the flexible, scalable, open-source way to build solutions for data-intensive applications. | N/A | N/A | +| Term/Acronym | Meaning | Avoid | Use | +| ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| [Cluster](https://docs.camunda.io/docs/product-manuals/zeebe/technical-concepts/clustering) | A cluster represents a configuration of one or more brokers collaborating to execute processes. | Avoid using capitalized "Cluster" when it is not the first word in a sentence.

    This also applies to terms like process instance and task. | "Zeebe implements the Gossip protocol to know which brokers are currently part of the cluster." | +| [Elasticsearch](https://github.com/camunda-community-hub/camunda-bpm-elasticsearch) | A free, open, and multitenant-capable search engine. | Elastic search, ElasticSearch | Elasticsearch | +| GitHub | A provider of internet hosting for software development. | Github | GitHub | +| OpenSearch | OpenSearch is the flexible, scalable, open-source way to build solutions for data-intensive applications. | N/A | N/A | diff --git a/howtos/technical-writing-styleguide.md b/howtos/technical-writing-styleguide.md index 4398be77ab9..295b3dd4b3e 100644 --- a/howtos/technical-writing-styleguide.md +++ b/howtos/technical-writing-styleguide.md @@ -35,25 +35,25 @@ We encourage document authors and technical writers to keep in mind grammar, pun ## Grammar -| Subject | Practice | Avoid | Example/Use | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Bolding | Bold when referring to button names or items to select.
    Bold to refer to another section within a document. If you are referencing another document entirely, link to it. | Click "Create New Diagram." | Click **Create New Diagram** under the **Diagrams** tab. | -| Capitalization | Refer to [Purdue's American capitalization guide](https://owl.purdue.edu/owl/general_writing/mechanics/help_with_capitals.html). | i like Camunda 7. | I like Camunda 7. | -| Currency | Use the currency symbol first, followed by the amount. Where appropriate, round to a whole number. | I have two hundred dollars. | €300
    $22,600
    €22.6 million | -| Dates | -| Avoid expressing a month as a number to avoid common confusion around US/EU conventions. If there is no way around it, use the US-English “/” as separators for all content (such as marketing materials) with the exception of technical documentation (guides, manuals, etc.)
    In technical documentation, use "-" as separators as it mirrors most timestamps in various programming languages. Also note that it may be best to remove the day of the week as it may not be as relevant as the day and month. | 10 December, 2018 | December 10, 2018 | -| Date ranges | Avoid repeating the same month twice in the same date range.
    If you are using numerical values, enter as follows: Year, month, date. | Camunda Community Summit April 27 - April 28 | Camunda Community Summit April 27-28 | -| Genders | Our default is to optimize for gender neutral writing in most cases, unless a person has specified their pronouns in advance. | He/she | A group of people/a person: They
    A business: It
    A user: The user, they | -| [In to vs. into](https://www.grammarly.com/blog/into-vs-in-to/) | Always think of "into" as a single preposition (within or outside of something.)
    Typically, "into" refers to physically going inside.
    Think of "in to" as two independent prepositions that happen to end up next to one another, and typically aren't physically entering or exiting something.
    Oftentimes, you can tell if you should use "in to" because you could place a comma after "in," and the sentence would still make sense. | Type your name in to the text box to sign up for Camunda 8.
    "Check which folder the file is into ensure you are in the correct location." | Type your name into the text box to sign up for Camunda 8.
    "Check which folder the file is in to ensure you are in the correct location." | -| Italics | Use when applying emphasis to a word. | Avoid overuse, using for button names.
    Click _Create New Diagram_. | See the **Bolding** section in this style guide above.
    Click **Create New Diagram** under the **Diagrams** tab.
    "You _must_ ensure your environment is configured correctly before moving forward through the steps below." | -| Numbers | Write whole numbers one through nine in full.
    Whole numbers 10 and upwards are written as numerals.
    Large numbers may be written as numerals with definition (million, billion).
    Currency does not follow the same rules. See details in the sub-section titled **Currency** above this table. | In this example, we will create 1 diagram and eleven processes to help 1,000,000 customers. | In this example, we will create one diagram and 11 processes to help 1 million customers. | -| Percentages | Written as % and always in numerals. | 10 percent | 10% | -| Pronoun references | Unclear pronoun reference occurs when a pronoun (often "it," "this," "that," or "they") could refer to more than one subject in a sentence, according to practice by [English Composition](https://englishcomposition.org/essential-writing/unclear-pronoun-reference/). Practice clarifying these pronouns, and removing them where appropriate. | After you execute `npm start`, you can run it.
    In the example above, what exactly are we running? | After you execute `npm start`, you can run the program.
    In the revised example above, we removed the unclear pronoun. | -| Spacing | Following a period, it is standard to have _one_ space before beginning a new sentence. | Avoid using two spaces after a period: "Message correlation is a powerful feature in Camunda 8. It allows you to target a running workflow with a state update from an external system asynchronously." | "Message correlation is a powerful feature in Camunda 8. It allows you to target a running workflow with a state update from an external system asynchronously." | -| Spelling | Default to American spelling and US English.
    See details in the sub-section titled **Spelling** below this table. | Analyse
    Colour
    Capitalise
    Humour
    Bernd Rücker | Analyze
    Color
    Capitalize
    Humor
    Bernd Ruecker | -| Times | Use the 12-hour clock, preferably UTC, and uppercase AM or PM where necessary. Always use the corresponding time zone if necessary. See this useful list of [standard abbreviations](https://www.timeanddate.com/time/zones/) for time zones.
    Be mindful of time zones when writing about events that occur across multiple borders. We aren't imposing any hard and fast rules, because we're dealing with global time zones and hundreds of conventions as a remote-first company.
    Standardizing on timezones, we typically communicate in or default to CET/CEST, EST/EDT, and PST/PDT.
    CET or CEST is used depending on daylight savings time, CEST indicating Central European Summer Time.
    EST/EDT and PST/ PDT are used depending on daylight savings time, EDT/PDT indicating daylight savings. | Avoid using hyphens to display time periods. Instead, use an en dash.
    To type an en dash on your Mac, type Option+Minus (-). To type an en dash on Windows, hold down Alt and type 0150 on the numeric keyboard; the en dash will appear upon releasing the Alt key. | 1 p.m. CET
    10 a.m. PST | -| Voice/Tense | Second person, [active voice](https://www.grammarly.com/blog/active-vs-passive-voice/). | I, me, my.
    The computer is turned on by pressing the power button. | You, your.
    Press the power button to turn on the computer. | -| Years | Don’t use an apostrophe for years. | 1960's | 1960s | +| Subject | Practice | Avoid | Example/Use | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Bolding | Bold when referring to button names or items to select.
    Bold to refer to another section within a document. If you are referencing another document entirely, link to it. | Click "Create New Diagram." | Click **Create New Diagram** under the **Diagrams** tab. | +| Capitalization | Refer to [Purdue's American capitalization guide](https://owl.purdue.edu/owl/general_writing/mechanics/help_with_capitals.html). | i like Camunda 7. | I like Camunda 7. | +| Currency | Use the currency symbol first, followed by the amount. Where appropriate, round to a whole number. | I have two hundred dollars. | €300
    $22,600
    €22.6 million | +| Dates | +| Avoid expressing a month as a number to avoid common confusion around US/EU conventions. If there is no way around it, use the US-English “/” as separators for all content (such as marketing materials) with the exception of technical documentation (guides, manuals, etc.)
    In technical documentation, use "-" as separators as it mirrors most timestamps in various programming languages. Also note that it may be best to remove the day of the week as it may not be as relevant as the day and month. | 10 December, 2018 | December 10, 2018 | +| Date ranges | Avoid repeating the same month twice in the same date range.
    If you are using numerical values, enter as follows: Year, month, date. | Camunda Community Summit April 27 - April 28 | Camunda Community Summit April 27-28 | +| Genders | Our default is to optimize for gender neutral writing in most cases, unless a person has specified their pronouns in advance. | He/she | A group of people/a person: They
    A business: It
    A user: The user, they | +| [In to vs. into](https://www.grammarly.com/blog/into-vs-in-to/) | Always think of "into" as a single preposition (within or outside of something.)
    Typically, "into" refers to physically going inside.
    Think of "in to" as two independent prepositions that happen to end up next to one another, and typically aren't physically entering or exiting something.
    Oftentimes, you can tell if you should use "in to" because you could place a comma after "in," and the sentence would still make sense. | Type your name in to the text box to sign up for Camunda 8.
    "Check which folder the file is into ensure you are in the correct location." | Type your name into the text box to sign up for Camunda 8.
    "Check which folder the file is in to ensure you are in the correct location." | +| Italics | Use when applying emphasis to a word. | Avoid overuse, using for button names.
    Click _Create New Diagram_. | See the **Bolding** section in this style guide above.
    Click **Create New Diagram** under the **Diagrams** tab.
    "You _must_ ensure your environment is configured correctly before moving forward through the steps below." | +| Numbers | Write whole numbers one through nine in full.
    Whole numbers 10 and upwards are written as numerals.
    Large numbers may be written as numerals with definition (million, billion).
    Currency does not follow the same rules. See details in the sub-section titled **Currency** above this table. | In this example, we will create 1 diagram and eleven processes to help 1,000,000 customers. | In this example, we will create one diagram and 11 processes to help 1 million customers. | +| Percentages | Written as % and always in numerals. | 10 percent | 10% | +| Pronoun references | Unclear pronoun reference occurs when a pronoun (often "it," "this," "that," or "they") could refer to more than one subject in a sentence, according to practice by [English Composition](https://englishcomposition.org/essential-writing/unclear-pronoun-reference/). Practice clarifying these pronouns, and removing them where appropriate. | After you execute `npm start`, you can run it.
    In the example above, what exactly are we running? | After you execute `npm start`, you can run the program.
    In the revised example above, we removed the unclear pronoun. | +| Spacing | Following a period, it is standard to have _one_ space before beginning a new sentence. | Avoid using two spaces after a period: "Message correlation is a powerful feature in Camunda 8. It allows you to target a running workflow with a state update from an external system asynchronously." | "Message correlation is a powerful feature in Camunda 8. It allows you to target a running workflow with a state update from an external system asynchronously." | +| Spelling | Default to American spelling and US English.
    See details in the sub-section titled **Spelling** below this table. | Analyse
    Colour
    Capitalise
    Humour
    Bernd Rücker | Analyze
    Color
    Capitalize
    Humor
    Bernd Ruecker | +| Times | Use the 12-hour clock, preferably UTC, and uppercase AM or PM where necessary. Always use the corresponding time zone if necessary. See this useful list of [standard abbreviations](https://www.timeanddate.com/time/zones/) for time zones.
    Be mindful of time zones when writing about events that occur across multiple borders. We aren't imposing any hard and fast rules, because we're dealing with global time zones and hundreds of conventions as a remote-first company.
    Standardizing on timezones, we typically communicate in or default to CET/CEST, EST/EDT, and PST/PDT.
    CET or CEST is used depending on daylight savings time, CEST indicating Central European Summer Time.
    EST/EDT and PST/ PDT are used depending on daylight savings time, EDT/PDT indicating daylight savings. | Avoid using hyphens to display time periods. Instead, use an en dash.
    To type an en dash on your Mac, type Option+Minus (-). To type an en dash on Windows, hold down Alt and type 0150 on the numeric keyboard; the en dash will appear upon releasing the Alt key. | 1 p.m. CET
    10 a.m. PST | +| Voice/Tense | Second person, [active voice](https://www.grammarly.com/blog/active-vs-passive-voice/). | I, me, my.
    The computer is turned on by pressing the power button. | You, your.
    Press the power button to turn on the computer. | +| Years | Don’t use an apostrophe for years. | 1960's | 1960s | ### Spelling @@ -72,16 +72,16 @@ We encourage document authors and technical writers to keep in mind grammar, pun Default to [American punctuation](https://www.unr.edu/writing-speaking-center/student-resources/writing-speaking-resources/british-american-english). -| Subject | Practice | Avoid | Use | -| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [Apostrophes](https://www.thepunctuationguide.com/apostrophe.html) | There are three key uses for apostrophes: contractions, plurals, and possessives.
    Apostrophes are not used for time periods.
    If the noun ends in an 's', place the apostrophe after the 's'. | 1980's
    Let us run the command below.
    We work to assist the businesses's microservices. | Let us = Let's
    Do not = Don't
    It is = It's
    1980s
    Let's run the command below.
    We work to assist the businesses' microservices. | -| [Commas](https://www.grammarly.com/blog/comma/) | Camunda uses the [Oxford comma](https://www.grammarly.com/blog/what-is-the-oxford-comma-and-why-do-people-care-so-much-about-it/). See details in the sub-section titled "Oxford comma" below this table.
    Always use a comma to separate independent clauses when they are joined by any of these seven [coordinating conjunctions](https://www.grammarly.com/blog/coordinating-conjunctions/): and, but, for, or, nor, so, yet.
    Avoid using too many commas and initiating a [run-on sentence](https://owl.purdue.edu/owl/general_writing/punctuation/independent_and_dependent_clauses/runonsentences.html), however. When possible, use short, separate sentences as opposed to several pieces of information in one sentence.
    Always use a comma to separate a sentence introduction from the remainder of the sentence content (Therefore, Thus, As a result, So, Henceforth,)
    In some specific cases, primarily on social media and where copy is exceptionally brief and clear, the Oxford comma is omitted. It should be used consistently in web and long-form content. | Camunda loves its products, GitHub and Google Analytics.
    We want to automate a process so let's start by creating an account with Camunda 8.
    Therefore we needed to wait for the program to load. | Camunda loves its products, GitHub, and Google Analytics.
    We want to automate a process, so let's start by creating an account with Camunda 8.
    Therefore, we needed to wait for the program to load. | -| [Em dash](https://www.grammarly.com/blog/why-you-should-love-the-em-dash/) | —
    As you can see, em dashes are slightly longer than en dashes.
    On a Mac, execute Shift+Option+Minus (-); on Windows use Ctrl+Alt+Minus (-).
    The em dash is used to set apart additional, descriptive notes also defined as "parenthetical information," or information you might put inside parentheses.
    In many programs, you will be unable to create an em dash with a single line. In these instances, please use two hyphens (--) with no white space between to create an em dash.
    If you find yourself pondering if you're using this correctly, cover up the sentence you've written after the em dash. If the first sentence makes perfect sense without it, then you're onto a winner. | - –
    In the true spirit of the city Camunda was founded, Berlin, Germany, Camunda is a diverse, distributed and global organization with "Camundos" around the world.
    At Camunda, we have made it our mission to enable organizations to design, automate and improve these processes, no matter where they are and what they entail.
    Camunda was founded in 2008, at a time when established industry players were advocating a low-code approach, but we believed in a developer-first approach. | In the true spirit of the city Camunda was founded—that is, Berlin, Germany— Camunda is a diverse, distributed, and global organization with "Camundos" around the world.
    At Camunda, we have made it our mission to enable organizations to design, automate and improve these processes—no matter where they are and what they entail.
    Camunda was founded in 2008, at a time when established industry players were advocating a low-code approach—but we believed in a developer-first approach. | -| [En dash](https://www.grammarly.com/blog/dash/) | –
    The en dash is shorter than an em dash, and is not the same as a hyphen.
    To type an en dash on your Mac, type Option+Minus (-). To type an en dash on Windows, hold down Alt and type 0150 on the numeric keyboard; the en dash will appear upon releasing the Alt key.
    The en dash should predominantly be used for date and time ranges. | -
    The scheduled window for the installation is 1-3pm. | The scheduled window for the installation is 1–3 p.m. | -| Hyphens | Use the hyphen (-) to create a compound adjective (where you squash two describing words together, just like German, but easier to read.) | User friendly interface.
    Biggest ever release. | User-friendly interface.
    Biggest-ever release. | -| [Prefixes](https://dictionary.cambridge.org/us/grammar/british-grammar/prefixes) | Prefixes are a stumbling block for many individuals with English as their first language. There's no right or wrong way to use them, because it genuinely depends on the dictionary you use, the style guide you follow, or just how confusing we want to make the language.
    Prefixes are basically a few letters tagged at the front of a word to create a different meaning.
    Ensure you omit the hyphen!
    If at any point you feel a word doesn't look quite right, just send DevRel a quick Slack, because, unfortunately, there are a ton of exceptions. | Un happy
    De activate
    Re-activate
    Un-do | Unhappy
    Deactivate
    Reactivate
    Undo | -| Quotation marks | We only use double quotations to illustrate the words spoken by another individual.
    We do not use quotations when referring to buttons or programs, nor sections of a document.
    See the **Bolding** section in the table above. | One of the greatest benefits of this project has been the close cooperation between business and IT. -Michael Voeller, Head of Project and Demand Management
    Navigate to the "**Decisions**" section of this manual. | "One of the greatest benefits of this project has been the close cooperation between business and IT," said Michael Voeller, Head of Project and Demand Management
    Navigate to the **Decisions** section of this page.
    Preferably, we would link the **Decisions** section in the example above so the user doesn't have to go out of their way to find it. | -| Semicolons | Semicolons are a wondrous use of punctuation when understood! Semicolons are stronger than a comma, but not as divisive as a period.
    Use semicolons to connect two related but independent clauses (the two pieces of information are related to one another, but they can also stand alone.)
    Do not capitalize the first word of the second clause following the semicolon unless it is a proper noun or acronym.
    Semicolons are also used to replace conjunctions (and, or, etc.) | We've automated several processes for our partners, we love to see them succeed. | We've automated several processes for our partners; we love to see them succeed. | +| Subject | Practice | Avoid | Use | +| -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [Apostrophes](https://www.thepunctuationguide.com/apostrophe.html) | There are three key uses for apostrophes: contractions, plurals, and possessives.
    Apostrophes are not used for time periods.
    If the noun ends in an 's', place the apostrophe after the 's'. | 1980's
    Let us run the command below.
    We work to assist the businesses's microservices. | Let us = Let's
    Do not = Don't
    It is = It's
    1980s
    Let's run the command below.
    We work to assist the businesses' microservices. | +| [Commas](https://www.grammarly.com/blog/comma/) | Camunda uses the [Oxford comma](https://www.grammarly.com/blog/what-is-the-oxford-comma-and-why-do-people-care-so-much-about-it/). See details in the sub-section titled "Oxford comma" below this table.
    Always use a comma to separate independent clauses when they are joined by any of these seven [coordinating conjunctions](https://www.grammarly.com/blog/coordinating-conjunctions/): and, but, for, or, nor, so, yet.
    Avoid using too many commas and initiating a [run-on sentence](https://owl.purdue.edu/owl/general_writing/punctuation/independent_and_dependent_clauses/runonsentences.html), however. When possible, use short, separate sentences as opposed to several pieces of information in one sentence.
    Always use a comma to separate a sentence introduction from the remainder of the sentence content (Therefore, Thus, As a result, So, Henceforth,)
    In some specific cases, primarily on social media and where copy is exceptionally brief and clear, the Oxford comma is omitted. It should be used consistently in web and long-form content. | Camunda loves its products, GitHub and Google Analytics.
    We want to automate a process so let's start by creating an account with Camunda 8.
    Therefore we needed to wait for the program to load. | Camunda loves its products, GitHub, and Google Analytics.
    We want to automate a process, so let's start by creating an account with Camunda 8.
    Therefore, we needed to wait for the program to load. | +| [Em dash](https://www.grammarly.com/blog/why-you-should-love-the-em-dash/) | —
    As you can see, em dashes are slightly longer than en dashes.
    On a Mac, execute Shift+Option+Minus (-); on Windows use Ctrl+Alt+Minus (-).
    The em dash is used to set apart additional, descriptive notes also defined as "parenthetical information," or information you might put inside parentheses.
    In many programs, you will be unable to create an em dash with a single line. In these instances, please use two hyphens (--) with no white space between to create an em dash.
    If you find yourself pondering if you're using this correctly, cover up the sentence you've written after the em dash. If the first sentence makes perfect sense without it, then you're onto a winner. | - –
    In the true spirit of the city Camunda was founded, Berlin, Germany, Camunda is a diverse, distributed and global organization with "Camundos" around the world.
    At Camunda, we have made it our mission to enable organizations to design, automate and improve these processes, no matter where they are and what they entail.
    Camunda was founded in 2008, at a time when established industry players were advocating a low-code approach, but we believed in a developer-first approach. | In the true spirit of the city Camunda was founded—that is, Berlin, Germany— Camunda is a diverse, distributed, and global organization with "Camundos" around the world.
    At Camunda, we have made it our mission to enable organizations to design, automate and improve these processes—no matter where they are and what they entail.
    Camunda was founded in 2008, at a time when established industry players were advocating a low-code approach—but we believed in a developer-first approach. | +| [En dash](https://www.grammarly.com/blog/dash/) | –
    The en dash is shorter than an em dash, and is not the same as a hyphen.
    To type an en dash on your Mac, type Option+Minus (-). To type an en dash on Windows, hold down Alt and type 0150 on the numeric keyboard; the en dash will appear upon releasing the Alt key.
    The en dash should predominantly be used for date and time ranges. | -
    The scheduled window for the installation is 1-3pm. | The scheduled window for the installation is 1–3 p.m. | +| Hyphens | Use the hyphen (-) to create a compound adjective (where you squash two describing words together, just like German, but easier to read.) | User friendly interface.
    Biggest ever release. | User-friendly interface.
    Biggest-ever release. | +| [Prefixes](https://dictionary.cambridge.org/us/grammar/british-grammar/prefixes) | Prefixes are a stumbling block for many individuals with English as their first language. There's no right or wrong way to use them, because it genuinely depends on the dictionary you use, the style guide you follow, or just how confusing we want to make the language.
    Prefixes are basically a few letters tagged at the front of a word to create a different meaning.
    Ensure you omit the hyphen!
    If at any point you feel a word doesn't look quite right, just send DevRel a quick Slack, because, unfortunately, there are a ton of exceptions. | Un happy
    De activate
    Re-activate
    Un-do | Unhappy
    Deactivate
    Reactivate
    Undo | +| Quotation marks | We only use double quotations to illustrate the words spoken by another individual.
    We do not use quotations when referring to buttons or programs, nor sections of a document.
    See the **Bolding** section in the table above. | One of the greatest benefits of this project has been the close cooperation between business and IT. -Michael Voeller, Head of Project and Demand Management
    Navigate to the "**Decisions**" section of this manual. | "One of the greatest benefits of this project has been the close cooperation between business and IT," said Michael Voeller, Head of Project and Demand Management
    Navigate to the **Decisions** section of this page.
    Preferably, we would link the **Decisions** section in the example above so the user doesn't have to go out of their way to find it. | +| Semicolons | Semicolons are a wondrous use of punctuation when understood! Semicolons are stronger than a comma, but not as divisive as a period.
    Use semicolons to connect two related but independent clauses (the two pieces of information are related to one another, but they can also stand alone.)
    Do not capitalize the first word of the second clause following the semicolon unless it is a proper noun or acronym.
    Semicolons are also used to replace conjunctions (and, or, etc.) | We've automated several processes for our partners, we love to see them succeed. | We've automated several processes for our partners; we love to see them succeed. | ### Oxford comma @@ -107,14 +107,14 @@ In the example above, one might assume Rachel Ray finds inspiration in cooking h The following table outlines best practices for conceptual pieces of information in the document. These pieces usually introduce the reader to a topic with a goal of teaching the reader about that topic before introducing further details or steps for implementation. (For example, an opening summary or overview of the document subject.) | Subject | Practice| Avoid | Use | | -- | -- | -- | -- | -| Concise writing | One of the most important techniques in technical writing is keeping your text short, clear, clean, and concise.
    As a result, work to eliminate unnecessary words or phrases to reduce the amount of text the user must read.
    To help test how readable and user-friendly your text is, review these [readability metrics](https://medium.com/technical-writing-is-easy/readability-metrics-and-technical-writing-b776422eaba) you can use.
    Review this additional [guide to Hemingway](https://medium.com/technical-writing-is-easy/hemingway-app-for-technical-writing-f994c8b2412a), a great tool to test the readability and user experience of your document. | Camunda 8 is powered by Zeebe, a new class of BPMN workflow engine that delivers true horizontal scalability and enables high-performance use cases that were once beyond the realm of workflow automation.
    Camunda 8 is architected for the cloud from the ground up. It is ideal for cloud application use cases such as microservices-based applications and integrates seamlessly with best-in-class cloud components. | Camunda 8 is powered by Zeebe, a new class of BPMN workflow engine that delivers horizontal scalability and high-performance use cases for workflow automation.
    Ideal for microservice-based applications, Camunda 8 easily integrates with industry-leading cloud components. | +| Concise writing | One of the most important techniques in technical writing is keeping your text short, clear, clean, and concise.
    As a result, work to eliminate unnecessary words or phrases to reduce the amount of text the user must read.
    To help test how readable and user-friendly your text is, review these [readability metrics](https://medium.com/technical-writing-is-easy/readability-metrics-and-technical-writing-b776422eaba) you can use.
    Review this additional [guide to Hemingway](https://medium.com/technical-writing-is-easy/hemingway-app-for-technical-writing-f994c8b2412a), a great tool to test the readability and user experience of your document. | Camunda 8 is powered by Zeebe, a new class of BPMN workflow engine that delivers true horizontal scalability and enables high-performance use cases that were once beyond the realm of workflow automation.
    Camunda 8 is architected for the cloud from the ground up. It is ideal for cloud application use cases such as microservices-based applications and integrates seamlessly with best-in-class cloud components. | Camunda 8 is powered by Zeebe, a new class of BPMN workflow engine that delivers horizontal scalability and high-performance use cases for workflow automation.
    Ideal for microservice-based applications, Camunda 8 easily integrates with industry-leading cloud components. | | Icons | You may utilize `` and `` icons in the documentation for clarity. | N/A | N/A | -| Separated paragraphs | A user-friendly experience is a clean, concise one with as few words as possible.
    A user-friendly experience separates these chunks of information into separate sections for easy reading and organization.
    Avoid large, lengthy paragraphs. Instead, try to keep your paragraphs to a maximum of four or five sentences, and then begin a new paragraph introducing more information. | Message correlation is a powerful feature in Camunda 8. It allows you to target a running workflow with a state update from an external system asynchronously. This tutorial uses the Node.js client, but it serves to illustrate message correlation concepts that are applicable to all language clients. We will use Simple Monitor to inspect the running workflow state. Simple Monitor is a community-supported tool, and is not designed to be used in production - however, it is useful during development. | Message correlation is a powerful feature in Camunda 8. It allows you to target a running workflow with a state update from an external system asynchronously.
    This tutorial uses the Node.js client, but it serves to illustrate message correlation concepts that are applicable to all language clients.
    We will use Simple Monitor to inspect the running workflow state. Simple Monitor is a community-supported tool, and is not designed to be used in production - however, it is useful during development. | +| Separated paragraphs | A user-friendly experience is a clean, concise one with as few words as possible.
    A user-friendly experience separates these chunks of information into separate sections for easy reading and organization.
    Avoid large, lengthy paragraphs. Instead, try to keep your paragraphs to a maximum of four or five sentences, and then begin a new paragraph introducing more information. | Message correlation is a powerful feature in Camunda 8. It allows you to target a running workflow with a state update from an external system asynchronously. This tutorial uses the Node.js client, but it serves to illustrate message correlation concepts that are applicable to all language clients. We will use Simple Monitor to inspect the running workflow state. Simple Monitor is a community-supported tool, and is not designed to be used in production - however, it is useful during development. | Message correlation is a powerful feature in Camunda 8. It allows you to target a running workflow with a state update from an external system asynchronously.
    This tutorial uses the Node.js client, but it serves to illustrate message correlation concepts that are applicable to all language clients.
    We will use Simple Monitor to inspect the running workflow state. Simple Monitor is a community-supported tool, and is not designed to be used in production - however, it is useful during development. | | Short sentences | Avoid long, lengthy sentences and practice short, separate sentences when describing various processes and technologies. This will help the user take a step-by-step approach, piece by piece, through a larger conceptual item without getting lost or feeling overwhelmed. | At Camunda we have made it our mission to provide developers with the best experience because our platform and tools are easy to get started and use in your environment right away, with full public access to all our docs, open APIs to integrate with just about anything, and a vibrant community of 100,000 developers. | At Camunda we have made it our mission to provide developers with the best experience. Our platform and tools are easy to get started and use in your environment right away. We offer full public access to all our docs and open APIs. We strive to integrate with just about anything, and a vibrant community of 100,000 developers. | -| That | Avoid overuse of the term "that." More often than not, the term is repetitive or unnecessary.
    To practice, double check your sentences by typing Ctrl+F and searching the term "that." Read your sentences without the term to see if the sentences still make sense. If they do, chances are you can remove the term.
    Typically, you can remove "that" before most nouns, though you may want to keep "that" before an adjective. | To confirm that the first gateway works correctly, complete the steps below: | To confirm the first gateway works correctly, complete the steps below: | -| Titles, headers, and sidebars | Sentence case spelling in titles and headers.
    For sentence case spelling, only capitalize the first word and any proper nouns.
    Ensure titles and headers are descriptive enough so Camunda doesn't have a large surplus of mere "Overview" pages.
    In Markdown, do not include a colon in your headers.
    Note that for clean, short sidebar labels, you may remove excess wording that would usually align with the style guide. | How To Open A File
    Our travel guide to berlin, germany
    Camunda 8 overview
    Readiness probe as yaml config:
    Process instance modification | How to open a file
    Our travel guide to Berlin, Germany
    What is Camunda 8?
    Readiness probe as yaml config
    Modifying process instances | -| Whether or not | "Whether X produces the expected value or not" can seem a bit repetitive.
    In most cases, it is appropriate to remove the "or not" at the end of the sentence to avoid repetition and unnecessary text.
    In a picturesque world, we should lean on "If X produces the expected value," entirely eliminating the need to use the "whether or not" terminology. | This specifies whether host language resources like classes and their methods are accessible or not. | This specifies if host language resources like classes and their methods are accessible. | +| That | Avoid overuse of the term "that." More often than not, the term is repetitive or unnecessary.
    To practice, double check your sentences by typing Ctrl+F and searching the term "that." Read your sentences without the term to see if the sentences still make sense. If they do, chances are you can remove the term.
    Typically, you can remove "that" before most nouns, though you may want to keep "that" before an adjective. | To confirm that the first gateway works correctly, complete the steps below: | To confirm the first gateway works correctly, complete the steps below: | +| Titles, headers, and sidebars | Sentence case spelling in titles and headers.
    For sentence case spelling, only capitalize the first word and any proper nouns.
    Ensure titles and headers are descriptive enough so Camunda doesn't have a large surplus of mere "Overview" pages.
    In Markdown, do not include a colon in your headers.
    Note that for clean, short sidebar labels, you may remove excess wording that would usually align with the style guide. | How To Open A File
    Our travel guide to berlin, germany
    Camunda 8 overview
    Readiness probe as yaml config:
    Process instance modification | How to open a file
    Our travel guide to Berlin, Germany
    What is Camunda 8?
    Readiness probe as yaml config
    Modifying process instances | +| Whether or not | "Whether X produces the expected value or not" can seem a bit repetitive.
    In most cases, it is appropriate to remove the "or not" at the end of the sentence to avoid repetition and unnecessary text.
    In a picturesque world, we should lean on "If X produces the expected value," entirely eliminating the need to use the "whether or not" terminology. | This specifies whether host language resources like classes and their methods are accessible or not. | This specifies if host language resources like classes and their methods are accessible. | ### Titles and headers (sentence case): @@ -129,28 +129,28 @@ You may utilize `` and `` The following table outlines best practices for the implementation section of the document. This section usually offers a distinct thing or things for the reader to do (for example, a list of steps). -| Subject | Practice | Avoid | Use | -| ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [Admonitions](https://docusaurus.io/docs/markdown-features/admonitions) | Currently within Docusaurus, we have the opportunity to utilize [admonitions](https://docusaurus.io/docs/markdown-features/admonitions) to separate important notes in our documents. Please utilize these admonitions appropriately according to [Docusaurus' guidance](https://docusaurus.io/docs/markdown-features/admonitions). This will add a significant boost to our UX! | Note: This is the `bpmnProcessId`, you'll need to create a new instance. | :::note
    This is the `bpmnProcessId`, you'll need to create a new instance.
    ::: | -| Breaking changes | If you are documenting a breaking change, please ensure this is noted in appropriate/relevant docs outside of solely update guides and announcements. | N/A | N/A | -| Bulleted lists | Use bulleted lists for a list of three or more items.
    You may use complete sentences in bulleted lists (followed by a period), or you may avoid using periods in your bulleted lists if the items are fragmented or short (apples, bananas, grapes, for example).
    Always capitalize the first word of the item in the bullet. | Do not use bullets for a series of steps or instructions. Instead, use numerical lists. See **Numerical lists/steps** in the table below.
    Avoid using commas and/or semicolons in bulleted lists as this can cause confusion between listed items.
    Do not lowercase the first word following each bullet. Ensure capitalization. | Camunda 8 can be used for several purposes, including:
    • To automate a process

      To avoid bottlenecks in business
      To create an organized framework
  • | -| Button names | Click **Next**.
    Use the arrow icon > to list out a series of buttons the user needs to press.
    See **Menu bar traversal** for details in the table below. | Italics and quotes.
    Click "Next" and then select "Open" and press "Enter" at the bottom of the page. | Verb + **Button Name**
    Can use screenshot or icon in instructions.
    Click **Next** > **Open** > **Enter** | -| Button verbs | Use common terms like **Click** or **Select**. | Hit, press
    Hit the **Next** button. | Click, select
    Select **Next**. | -| Code blocks | Use code blocks when you are specifically referring to components within code or filenames.
    Use code block highlighting, if available. This will not apply to inline code, but instead for larger blocks of code. | Do not use code blocks for anything outside of code or filenames, including buttons, titles, etc. | Ensure the `taskID` on your JavaScript page is the same.
    Execute the following command:
    `npm start`
    `javascript var = 1;` | -| Filenames | Place filenames within a code block, as noted in the component **Code blocks** in the table above. | Avoid bolding or italicizing filenames. | Open `codeStuff.txt` | -| Gifs | Gifs are strongly discouraged in place of text for maintainability and accessibility purposes.
    If possible, refrain from implementing these in documentation. If you must include them, ensure sufficient text outlines what it taking place in the gif for accessibility purposes. | N/A | N/A | -| Images | Ensure your images are appropriate in size and clarity.
    All images should include alt text for accessibility purposes.
    If using a screenshot to show steps to fill out a UI, include text above or below the screenshot that includes input text.
    Crop the user bar and any personal information out of your photo or screenshot. This may include names, passwords, usernames, etc. | Avoid blurry screenshots. Avoid including any personal information in your images. If you must use a username, use "My organization". Avoid images that are unnecessarily large or bulky to keep the page clean and concise. | N/A | -| Latin abbreviations | Do not use Latin abbreviations. Instead, use "for example." | e.g. or i.e. | For example, | -| Links | Link text whenever it refers to a separate section of our documentation or website. No section reference should go unlinked.
    Ensure links are externally linked, meaning when clicked, the link will open in a separate tab and not remove the position the user is in within the documentation in their current tab.
    Please also make sure any repo links are linked to the anchor link on the repo instead of the main/{branch name} link.
    Links should use descriptive wording, rather than just "click here".
    Deep link to specific sections of a document where appropriate. | Visit our Getting Started Guide for more details.
    Click here for more details.
    Learn more about...
    To read more...
    "For more information, see the `[deploying](LINK)` page." | Visit [Get started with Camunda](https://docs.camunda.org/get-started/) for more details.
    To learn more about migrating from Camunda 7 to Camunda 8, visit our migration guide.
    To (do X), visit `[X](LINK)`.
    For more information, see `[merge request](LINK)`. | -| Menu bar traversal | When listing out a series of buttons as steps, use the arrow key to break between buttons. | In the "File" menu, click "Save as." | In the **File** menu, click **Save as**.
    Go to **File > New File > BPMN Diagram**. | -| Notes | When using an admonition to create a note (see the row titled **Admonitions** above) do not place several notes in a row.
    Either remove the information in the sequential notes and leave them as paragraphs/independent sentences, or spread the notes out directly alongside the content the note is referring to. | Admonition, with another admonition immediately following it. | “According to XYZ, it’s important to note...
    Additionally, note that...” | -| Numerical lists/steps | When possible, replace a loaded or long sentence with a series of steps to keep things clear and concise.
    See details in the sub-section titled **Numerical lists/steps** below this table. | Use the Camunda Modeler to open the Payment Retrieval process then click on the Approve Payment Task. Change the activity type to Business Rule Task in the wrench button menu. | 1. Use Camunda Modeler to open the **Payment Retrieval** process.
    2. Click the **Approve Payment** task.
    3. Click the wrench icon, revealing a menu, to change the **activity type** to **Business Rule Task**. | -| Optional steps | Steps may be listed as optional where appropriate. | `1. Optional. Check this out.` | `(Optional) Check this out.` | -| Unordered lists | Do not use numerical lists for lists of items without a set order of actions.
    Additionally, use dashes (minus) instead of asterisks (star). | You can do the following with Optimize: `1. Create reports 2. Create dashboards 3. Analyze heat maps` | You can do the following with Optimize: `- Create reports - Create dashboards - Analyze heatmaps` | -| Please and thank you | In technical writing, give direct, clear instructions. You do not need to ask the user to "please" do something.
    Do not use "please" in a numerical or bulleted list.
    This may seem rather blunt, but our goal is to create clean, direct instructions and documentation. | Please open the link. | Open the link. | -| Semantic versioning | **X** is used when applying a topic to all subsequent patch releases since the minor release.
    0 or another number representing a specific patch release (8, 9, etc.) means you are specifying the minor release, or a particular patch release.
    **+**, therefore, should only be used alongside a specific number specifying a release, and should not follow an X. | Check out the feature in version 8.4.x+. | This feature is available with 8.4.10+. | -| Tabs | When listing several different command options across operating systems, ensure these different references are separated into their own tabs for a clean, clear UX. | See this [documentation](https://docs.camunda.io/docs/components/zeebe/deployment-guide/getting-started/create-process-instance/) example. | See this [GitHub](https://github.com/camunda-cloud/camunda-cloud-documentation/pull/345) example. | -| Visuals | Keep visuals in mind as you create a document to avoid large, lengthy paragraphs. Consider the following:
    Would this series of information be more visually-appealing in a table?
    Should I add a brief video, gif, or image to show the user the more complex steps I've described? | Avoid several paragraphs of information contained in large bodies of text. | Practice clean, clear, and brief chunks of text. Consider a table or image to display the information you've outlined. | +| Subject | Practice | Avoid | Use | +| ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Admonitions](https://docusaurus.io/docs/markdown-features/admonitions) | Currently within Docusaurus, we have the opportunity to utilize [admonitions](https://docusaurus.io/docs/markdown-features/admonitions) to separate important notes in our documents. Please utilize these admonitions appropriately according to [Docusaurus' guidance](https://docusaurus.io/docs/markdown-features/admonitions). This will add a significant boost to our UX! | Note: This is the `bpmnProcessId`, you'll need to create a new instance. | :::note
    This is the `bpmnProcessId`, you'll need to create a new instance.
    ::: | +| Breaking changes | If you are documenting a breaking change, please ensure this is noted in appropriate/relevant docs outside of solely update guides and announcements. | N/A | N/A | +| Bulleted lists | Use bulleted lists for a list of three or more items.
    You may use complete sentences in bulleted lists (followed by a period), or you may avoid using periods in your bulleted lists if the items are fragmented or short (apples, bananas, grapes, for example).
    Always capitalize the first word of the item in the bullet. | Do not use bullets for a series of steps or instructions. Instead, use numerical lists. See **Numerical lists/steps** in the table below.
    Avoid using commas and/or semicolons in bulleted lists as this can cause confusion between listed items.
    Do not lowercase the first word following each bullet. Ensure capitalization. | Camunda 8 can be used for several purposes, including:
    • To automate a process

      To avoid bottlenecks in business
      To create an organized framework
  • | +| Button names | Click **Next**.
    Use the arrow icon > to list out a series of buttons the user needs to press.
    See **Menu bar traversal** for details in the table below. | Italics and quotes.
    Click "Next" and then select "Open" and press "Enter" at the bottom of the page. | Verb + **Button Name**
    Can use screenshot or icon in instructions.
    Click **Next** > **Open** > **Enter** | +| Button verbs | Use common terms like **Click** or **Select**. | Hit, press
    Hit the **Next** button. | Click, select
    Select **Next**. | +| Code blocks | Use code blocks when you are specifically referring to components within code or filenames.
    Use code block highlighting, if available. This will not apply to inline code, but instead for larger blocks of code. | Do not use code blocks for anything outside of code or filenames, including buttons, titles, etc. | Ensure the `taskID` on your JavaScript page is the same.
    Execute the following command:
    `npm start`
    `javascript var = 1;` | +| Filenames | Place filenames within a code block, as noted in the component **Code blocks** in the table above. | Avoid bolding or italicizing filenames. | Open `codeStuff.txt` | +| Gifs | Gifs are strongly discouraged in place of text for maintainability and accessibility purposes.
    If possible, refrain from implementing these in documentation. If you must include them, ensure sufficient text outlines what it taking place in the gif for accessibility purposes. | N/A | N/A | +| Images | Ensure your images are appropriate in size and clarity.
    All images should include alt text for accessibility purposes.
    If using a screenshot to show steps to fill out a UI, include text above or below the screenshot that includes input text.
    Crop the user bar and any personal information out of your photo or screenshot. This may include names, passwords, usernames, etc. | Avoid blurry screenshots. Avoid including any personal information in your images. If you must use a username, use "My organization". Avoid images that are unnecessarily large or bulky to keep the page clean and concise. | N/A | +| Latin abbreviations | Do not use Latin abbreviations. Instead, use "for example." | e.g. or i.e. | For example, | +| Links | Link text whenever it refers to a separate section of our documentation or website. No section reference should go unlinked.
    Ensure links are externally linked, meaning when clicked, the link will open in a separate tab and not remove the position the user is in within the documentation in their current tab.
    Please also make sure any repo links are linked to the anchor link on the repo instead of the main/`{branch name}` link.
    Links should use descriptive wording, rather than just "click here".
    Deep link to specific sections of a document where appropriate. | Visit our Getting Started Guide for more details.
    Click here for more details.
    Learn more about...
    To read more...
    "For more information, see the `[deploying](LINK)` page." | Visit [Get started with Camunda](https://docs.camunda.org/get-started/) for more details.
    To learn more about migrating from Camunda 7 to Camunda 8, visit our migration guide.
    To (do X), visit `[X](LINK)`.
    For more information, see `[merge request](LINK)`. | +| Menu bar traversal | When listing out a series of buttons as steps, use the arrow key to break between buttons. | In the "File" menu, click "Save as." | In the **File** menu, click **Save as**.
    Go to **File > New File > BPMN Diagram**. | +| Notes | When using an admonition to create a note (see the row titled **Admonitions** above) do not place several notes in a row.
    Either remove the information in the sequential notes and leave them as paragraphs/independent sentences, or spread the notes out directly alongside the content the note is referring to. | Admonition, with another admonition immediately following it. | “According to XYZ, it’s important to note...
    Additionally, note that...” | +| Numerical lists/steps | When possible, replace a loaded or long sentence with a series of steps to keep things clear and concise.
    See details in the sub-section titled **Numerical lists/steps** below this table. | Use the Camunda Modeler to open the Payment Retrieval process then click on the Approve Payment Task. Change the activity type to Business Rule Task in the wrench button menu. | 1. Use Camunda Modeler to open the **Payment Retrieval** process.
    2. Click the **Approve Payment** task.
    3. Click the wrench icon, revealing a menu, to change the **activity type** to **Business Rule Task**. | +| Optional steps | Steps may be listed as optional where appropriate. | `1. Optional. Check this out.` | `(Optional) Check this out.` | +| Unordered lists | Do not use numerical lists for lists of items without a set order of actions.
    Additionally, use dashes (minus) instead of asterisks (star). | You can do the following with Optimize: `1. Create reports 2. Create dashboards 3. Analyze heat maps` | You can do the following with Optimize: `- Create reports - Create dashboards - Analyze heatmaps` | +| Please and thank you | In technical writing, give direct, clear instructions. You do not need to ask the user to "please" do something.
    Do not use "please" in a numerical or bulleted list.
    This may seem rather blunt, but our goal is to create clean, direct instructions and documentation. | Please open the link. | Open the link. | +| Semantic versioning | **X** is used when applying a topic to all subsequent patch releases since the minor release.
    0 or another number representing a specific patch release (8, 9, etc.) means you are specifying the minor release, or a particular patch release.
    **+**, therefore, should only be used alongside a specific number specifying a release, and should not follow an X. | Check out the feature in version 8.4.x+. | This feature is available with 8.4.10+. | +| Tabs | When listing several different command options across operating systems, ensure these different references are separated into their own tabs for a clean, clear UX. | See this [documentation](https://docs.camunda.io/docs/components/zeebe/deployment-guide/getting-started/create-process-instance/) example. | See this [GitHub](https://github.com/camunda-cloud/camunda-cloud-documentation/pull/345) example. | +| Visuals | Keep visuals in mind as you create a document to avoid large, lengthy paragraphs. Consider the following:
    Would this series of information be more visually-appealing in a table?
    Should I add a brief video, gif, or image to show the user the more complex steps I've described? | Avoid several paragraphs of information contained in large bodies of text. | Practice clean, clear, and brief chunks of text. Consider a table or image to display the information you've outlined. | ### Numerical lists/steps: @@ -182,14 +182,14 @@ Create a new Maven project in your IDE. If you're using Eclipse, follow these st **NOTE: To avoid overuse of company jargon or confusion, please refer to [this summary of OMG specifications](https://www.omg.org/spec/category/business-modeling/) when referring to acronyms within your documentation.** -| Subject | Practice | Avoid | Use | -| ------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| Acronyms | BPMN, DMN, TTFN – the use of acronyms should be judged by the level of audience knowledge.
    For a technical audience, use industry standard acronyms from the start. However, for new concepts or emerging acronyms, write the process in full first, and then follow with the acronym at the next use.
    For a non-technical audience, always write an acronym in full the first time you use it in any new piece of content. Afterwards, it can be abbreviated. | Avoid abbreviating the term on its first use if the documentation is for an audience which may be non-technical. | Most often, you should spell out the acronym on first reference and abbreviate thereafter depending on the level of audience knowledge. | -| And/or | Either or both of two stated possibilities. | You can further parallelize archiver and(or) importer within one node using the following configuration parameters | You can further parallelize archiver and/or importer within one node using the following configuration parameters | -| File extensions | Do not capitalize file extensions like .pdf, .doc, etc. | Uppercase | Lowercase | -| [Job and professional titles](https://grammar.yourdictionary.com/capitalization/capitalization-of-job-titles.html) | Do not capitalize a job title if listed after a name.
    Do capitalize a job title if listed before a name.
    An exception may be within a list of people, such as a conference speakers list, where capitalizing titles may be appropriate. | Charley Mann, Content Strategist | Charley Mann, content strategist | -| Process | See details in the sub-section titled **Process vs. workflow** below this table. | Avoid "workflow automation" and "workflow instance" where "process automation" and "process instance" is preferred. | We prefer process automation and process instance over workflow automation or workflow instance.
    See details in the sub-section titled **Process vs. workflow** below this table. | -| Workflow | See details in the sub-section titled **Process vs. workflow** below this table. | Avoid "workflow automation" and "workflow instance" where "process automation" and "process instance" is preferred. | We prefer process automation and process instance over workflow automation or workflow instance.
    See details in the sub-section titled **Process vs. workflow** below this table. | +| Subject | Practice | Avoid | Use | +| ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Acronyms | BPMN, DMN, TTFN – the use of acronyms should be judged by the level of audience knowledge.
    For a technical audience, use industry standard acronyms from the start. However, for new concepts or emerging acronyms, write the process in full first, and then follow with the acronym at the next use.
    For a non-technical audience, always write an acronym in full the first time you use it in any new piece of content. Afterwards, it can be abbreviated. | Avoid abbreviating the term on its first use if the documentation is for an audience which may be non-technical. | Most often, you should spell out the acronym on first reference and abbreviate thereafter depending on the level of audience knowledge. | +| And/or | Either or both of two stated possibilities. | You can further parallelize archiver and(or) importer within one node using the following configuration parameters | You can further parallelize archiver and/or importer within one node using the following configuration parameters | +| File extensions | Do not capitalize file extensions like .pdf, .doc, etc. | Uppercase | Lowercase | +| [Job and professional titles](https://grammar.yourdictionary.com/capitalization/capitalization-of-job-titles.html) | Do not capitalize a job title if listed after a name.
    Do capitalize a job title if listed before a name.
    An exception may be within a list of people, such as a conference speakers list, where capitalizing titles may be appropriate. | Charley Mann, Content Strategist | Charley Mann, content strategist | +| Process | See details in the sub-section titled **Process vs. workflow** below this table. | Avoid "workflow automation" and "workflow instance" where "process automation" and "process instance" is preferred. | We prefer process automation and process instance over workflow automation or workflow instance.
    See details in the sub-section titled **Process vs. workflow** below this table. | +| Workflow | See details in the sub-section titled **Process vs. workflow** below this table. | Avoid "workflow automation" and "workflow instance" where "process automation" and "process instance" is preferred. | We prefer process automation and process instance over workflow automation or workflow instance.
    See details in the sub-section titled **Process vs. workflow** below this table. | ### Process vs. workflow: diff --git a/optimize/apis-tools/optimize-api/event-ingestion.md b/optimize/apis-tools/optimize-api/event-ingestion.md index a5a356dd4b7..6e43d73fd6c 100644 --- a/optimize/apis-tools/optimize-api/event-ingestion.md +++ b/optimize/apis-tools/optimize-api/event-ingestion.md @@ -108,43 +108,45 @@ POST `/api/ingestion/event/batch` ##### Request body - [ - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca341", - "source": "order-service", - "type": "orderCreated", - "time": "2020-01-01T10:00:00.000Z", - "traceid": "id1", - "group": "shop", - "data": { - "numberField": 1, - "stringField": "example" - } - }, - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca342", - "source": "order-service", - "type": "orderValidated", - "time": "2020-01-01T10:00:10.000Z", - "traceid": "id1", - "group": "shop", - "data": { - "numberField": 1, - "stringField": "example" - } - }, - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca343", - "source": "shipping-service", - "type": "packageShipped", - "traceid": "id1", - "group": "shop", - "time": "2020-01-01T10:00:20.000Z" - } - ] +```json +[ + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca341", + "source": "order-service", + "type": "orderCreated", + "time": "2020-01-01T10:00:00.000Z", + "traceid": "id1", + "group": "shop", + "data": { + "numberField": 1, + "stringField": "example" + } + }, + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca342", + "source": "order-service", + "type": "orderValidated", + "time": "2020-01-01T10:00:10.000Z", + "traceid": "id1", + "group": "shop", + "data": { + "numberField": 1, + "stringField": "example" + } + }, + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca343", + "source": "shipping-service", + "type": "packageShipped", + "traceid": "id1", + "group": "shop", + "time": "2020-01-01T10:00:20.000Z" + } +] +``` #### Response diff --git a/optimize/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md b/optimize/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md index dd3eddf077f..2144aa97aaf 100644 --- a/optimize/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md +++ b/optimize/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md @@ -18,20 +18,20 @@ in Optimize. Using any other history level will result in less data and/or funct history in a connected engine should be configured for long enough for Optimize to import it. If data is removed from an engine before Optimize has imported it, that data will not be available in Optimize. -| YAML path | Default value | Description | -| ---------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| engines.${engineAlias}.name | default | The process engine's name on the platform, this is the unique engine identifier on the platforms REST API. | -| engines.${engineAlias}.defaultTenant.id | null | A default tenantID to associate all imported data with if there is no tenant configured in the engine itself. This property is only relevant in the context of a `One Process Engine Per Tenant` tenancy. For details consult the Multi-Tenancy documentation. | -| engines.${engineAlias}.defaultTenant.name | null | The name used for this default tenant when displayed in the UI. | -| engines.${engineAlias}.excludeTenant | [ ] | Comma-separated list of tenant IDs to be excluded when importing data from the specified engine. When left empty, data from all tenants will be imported. Please note that the `defaultTenant` cannot be excluded (and therefore also not the entities with `null` as tenant) | -| engines.${engineAlias}.rest | http://localhost:8080/engine-rest | A base URL that will be used for connections to the Camunda Engine REST API. | -| engines.${engineAlias}.importEnabled | true | Determines whether this instance of Optimize should import definition & historical data from this engine. | -| engines.${engineAlias}.eventImportEnabled | false | Determines whether this instance of Optimize should convert historical data to event data usable for event based processes. | -| engines.${engineAlias}.authentication.enabled | false | Toggles basic authentication on or off. When enabling basic authentication, please be aware that you also need to adjust the values of the user and password. | -| engines.${engineAlias}.authentication.user | | When basic authentication is enabled, this user is used to authenticate against the engine.

    Note: when enabled, it is required that the user has
    • `READ` & `READ_HISTORY` permission on the Process and Decision Definition resources
    • `READ` permission on _all_ ("\*") Authorization, Group, User, Tenant, Deployment & User Operation Log resources
    to enable users to log in and Optimize to import the engine data. | -| engines.${engineAlias}.authentication.password | | When basic authentication is enabled, this password is used to authenticate against the engine. | -| engines.${engineAlias}.webapps.endpoint | http://localhost:8080/camunda | Defines the endpoint where the Camunda webapps are found. This allows Optimize to directly link to the other Camunda Web Applications, e.g. to jump from Optimize directly to a dedicated process instance in Cockpit | -| engines.${engineAlias}.webapps.enabled | true | Enables/disables linking to other Camunda Web Applications | +| YAML path | Default value | Description | +| ----------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| engines.$\{engineAlias}.name | default | The process engine's name on the platform, this is the unique engine identifier on the platforms REST API. | +| engines.$\{engineAlias}.defaultTenant.id | null | A default tenantID to associate all imported data with if there is no tenant configured in the engine itself. This property is only relevant in the context of a `One Process Engine Per Tenant` tenancy. For details consult the Multi-Tenancy documentation. | +| engines.$\{engineAlias}.defaultTenant.name | null | The name used for this default tenant when displayed in the UI. | +| engines.$\{engineAlias}.excludeTenant | [ ] | Comma-separated list of tenant IDs to be excluded when importing data from the specified engine. When left empty, data from all tenants will be imported. Please note that the `defaultTenant` cannot be excluded (and therefore also not the entities with `null` as tenant) | +| engines.$\{engineAlias}.rest | http://localhost:8080/engine-rest | A base URL that will be used for connections to the Camunda Engine REST API. | +| engines.$\{engineAlias}.importEnabled | true | Determines whether this instance of Optimize should import definition & historical data from this engine. | +| engines.$\{engineAlias}.eventImportEnabled | false | Determines whether this instance of Optimize should convert historical data to event data usable for event based processes. | +| engines.$\{engineAlias}.authentication.enabled | false | Toggles basic authentication on or off. When enabling basic authentication, please be aware that you also need to adjust the values of the user and password. | +| engines.$\{engineAlias}.authentication.user | | When basic authentication is enabled, this user is used to authenticate against the engine.

    Note: when enabled, it is required that the user has
    • `READ` & `READ_HISTORY` permission on the Process and Decision Definition resources
    • `READ` permission on _all_ ("\*") Authorization, Group, User, Tenant, Deployment & User Operation Log resources
    to enable users to log in and Optimize to import the engine data. | +| engines.$\{engineAlias}.authentication.password | | When basic authentication is enabled, this password is used to authenticate against the engine. | +| engines.$\{engineAlias}.webapps.endpoint | http://localhost:8080/camunda | Defines the endpoint where the Camunda webapps are found. This allows Optimize to directly link to the other Camunda Web Applications, e.g. to jump from Optimize directly to a dedicated process instance in Cockpit | +| engines.$\{engineAlias}.webapps.enabled | true | Enables/disables linking to other Camunda Web Applications | ## Camunda 7 common import settings diff --git a/optimize/self-managed/optimize-deployment/configuration/system-configuration.md b/optimize/self-managed/optimize-deployment/configuration/system-configuration.md index 97342e02234..e09bcdaac7b 100644 --- a/optimize/self-managed/optimize-deployment/configuration/system-configuration.md +++ b/optimize/self-managed/optimize-deployment/configuration/system-configuration.md @@ -262,16 +262,16 @@ Settings influencing the process digest feature. Settings for webhooks which can receive custom alert notifications. You can configure multiple webhooks which will be available to select from when creating or editing alerts. Each webhook configuration should have a unique human readable name which will appear in the Optimize UI. -| YAML path | Default value | Description | -| -------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| webhookAlerting.webhooks.${webhookName}.url | | The URL of the webhook. | -| webhookAlerting.webhooks.${webhookName}.headers | | A map of the headers of the request to be sent to the webhook. | -| webhookAlerting.webhooks.${webhookName}.httpMethod | | The HTTP Method of the request to be sent to the webhook. | -| webhookAlerting.webhooks.${webhookName}.defaultPayload | | The payload of the request to be sent to the webhook. This should include placeholder keys that allow you to define dynamic content. See [Alert Webhook Payload Placeholders](../webhooks#alert-webhook-payload-placeholders) for available values. | -| webhookAlerting.webhooks.${webhookName}.proxy.enabled | | Whether an HTTP proxy should be used for requests to the webhook URL. | -| webhookAlerting.webhooks.${webhookName}.proxy.host | | The proxy host to use, must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | -| webhookAlerting.webhooks.${webhookName}.proxy.port | | The proxy port to use, must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | -| webhookAlerting.webhooks.${webhookName}.proxy.sslEnabled | | Whether this proxy is using a secured connection (HTTPS). Must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | +| YAML path | Default value | Description | +| --------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| webhookAlerting.webhooks.$\{webhookName}.url | | The URL of the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.headers | | A map of the headers of the request to be sent to the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.httpMethod | | The HTTP Method of the request to be sent to the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.defaultPayload | | The payload of the request to be sent to the webhook. This should include placeholder keys that allow you to define dynamic content. See [Alert Webhook Payload Placeholders](../webhooks#alert-webhook-payload-placeholders) for available values. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.enabled | | Whether an HTTP proxy should be used for requests to the webhook URL. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.host | | The proxy host to use, must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.port | | The proxy port to use, must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.sslEnabled | | Whether this proxy is using a secured connection (HTTPS). Must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | ### History cleanup settings @@ -281,20 +281,20 @@ Settings for automatic cleanup of historic process/decision instances based on t Two types of history cleanup are available for Camunda 8 users at this time - process data cleanup and external variable cleanup. For more information, see [History cleanup](/optimize/self-managed/optimize-deployment/configuration/history-cleanup.md). ::: -| YAML path | Default value | Description | -| -------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| historyCleanup.cronTrigger | `'0 1 * * *'` | Cron expression to schedule when the cleanup should be executed, defaults to 01:00 A.M. As the cleanup can cause considerable load on the underlying database it is recommended to schedule it outside of office hours. You can either use the default Cron (5 fields) or the Spring Cron (6 fields) expression format here. | -| historyCleanup.ttl | 'P2Y' | Global time to live (ttl) period for process/decision/event data. The relevant property differs between entities. For process data, it's the `endTime` of the process instance. For decision data, it's the `evaluationTime` and for ingested events it's the `time` field. The format of the string is ISO_8601 duration. The default value is 2 years. For details on the notation refer to: [https://en.wikipedia.org/wiki/ISO_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) Note: The time component of the ISO_8601 duration is not supported. Only years (Y), months (M) and days (D) are. | -| historyCleanup.processDataCleanup.enabled | false | A switch to activate the history cleanup of process data. \[true/false\] | -| historyCleanup.processDataCleanup.cleanupMode | 'all' | Global type of the cleanup to perform for process instances, possible values: 'all' - delete everything related and including the process instance that passed the defined ttl 'variables' - only delete variables of a process instance Note: This doesn't affect the decision instance cleanup which always deletes the whole instance. | -| historyCleanup.processDataCleanup.batchSize | 10000 | Defines the batch size in which Camunda engine process instance data gets cleaned up. It may be reduced if requests fail due to request size constraints. In most cases, this should not be necessary and has only been experienced when connecting to an AWS Elasticsearch instance. | -| historyCleanup.processDataCleanup.perProcessDefinitionConfig | | A list of process definition specific configuration parameters that will overwrite the global cleanup settings for the specific process definition identified by its ${key}. | -| historyCleanup.processDataCleanup .perProcessDefinitionConfig.${key}.ttl | | Time to live to use for process instances of the process definition with the ${key}. | -| historyCleanup.processDataCleanup .perProcessDefinitionConfig.${key}.cleanupMode | | Cleanup mode to use for process instances of the process definition with the ${key}. | -| historyCleanup.decisionDataCleanup.enabled | false | A switch to activate the history cleanup of decision data. \[true/false\] | -| historyCleanup.decisionDataCleanup.perDecisionDefinitionConfig | | A list of decision definition specific configuration parameters that will overwrite the global cleanup settings for the specific decision definition identified by its ${key}. | -| historyCleanup.decisionDataCleanup .perDecisionDefinitionConfig.${key}.ttl | | Time to live to use for decision instances of the decision definition with the ${key}. | -| historyCleanup.ingestedEventCleanup.enabled | false | A switch to activate the history cleanup of ingested event data. \[true/false\] | +| YAML path | Default value | Description | +| --------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| historyCleanup.cronTrigger | `'0 1 * * *'` | Cron expression to schedule when the cleanup should be executed, defaults to 01:00 A.M. As the cleanup can cause considerable load on the underlying database it is recommended to schedule it outside of office hours. You can either use the default Cron (5 fields) or the Spring Cron (6 fields) expression format here. | +| historyCleanup.ttl | 'P2Y' | Global time to live (ttl) period for process/decision/event data. The relevant property differs between entities. For process data, it's the `endTime` of the process instance. For decision data, it's the `evaluationTime` and for ingested events it's the `time` field. The format of the string is ISO_8601 duration. The default value is 2 years. For details on the notation refer to: [https://en.wikipedia.org/wiki/ISO_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) Note: The time component of the ISO_8601 duration is not supported. Only years (Y), months (M) and days (D) are. | +| historyCleanup.processDataCleanup.enabled | false | A switch to activate the history cleanup of process data. \[true/false\] | +| historyCleanup.processDataCleanup.cleanupMode | 'all' | Global type of the cleanup to perform for process instances, possible values: 'all' - delete everything related and including the process instance that passed the defined ttl 'variables' - only delete variables of a process instance Note: This doesn't affect the decision instance cleanup which always deletes the whole instance. | +| historyCleanup.processDataCleanup.batchSize | 10000 | Defines the batch size in which Camunda engine process instance data gets cleaned up. It may be reduced if requests fail due to request size constraints. In most cases, this should not be necessary and has only been experienced when connecting to an AWS Elasticsearch instance. | +| historyCleanup.processDataCleanup.perProcessDefinitionConfig | | A list of process definition specific configuration parameters that will overwrite the global cleanup settings for the specific process definition identified by its $\{key}. | +| historyCleanup.processDataCleanup .perProcessDefinitionConfig.$\{key}.ttl | | Time to live to use for process instances of the process definition with the $\{key}. | +| historyCleanup.processDataCleanup .perProcessDefinitionConfig.$\{key}.cleanupMode | | Cleanup mode to use for process instances of the process definition with the $\{key}. | +| historyCleanup.decisionDataCleanup.enabled | false | A switch to activate the history cleanup of decision data. \[true/false\] | +| historyCleanup.decisionDataCleanup.perDecisionDefinitionConfig | | A list of decision definition specific configuration parameters that will overwrite the global cleanup settings for the specific decision definition identified by its $\{key}. | +| historyCleanup.decisionDataCleanup .perDecisionDefinitionConfig.$\{key}.ttl | | Time to live to use for decision instances of the decision definition with the $\{key}. | +| historyCleanup.ingestedEventCleanup.enabled | false | A switch to activate the history cleanup of ingested event data. \[true/false\] | ### Localization diff --git a/optimize_versioned_docs/version-3.11.0/apis-tools/optimize-api/event-ingestion.md b/optimize_versioned_docs/version-3.11.0/apis-tools/optimize-api/event-ingestion.md index 6c453a3271f..952e44ec10b 100644 --- a/optimize_versioned_docs/version-3.11.0/apis-tools/optimize-api/event-ingestion.md +++ b/optimize_versioned_docs/version-3.11.0/apis-tools/optimize-api/event-ingestion.md @@ -108,43 +108,45 @@ POST `/api/ingestion/event/batch` ##### Request body - [ - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca341", - "source": "order-service", - "type": "orderCreated", - "time": "2020-01-01T10:00:00.000Z", - "traceid": "id1", - "group": "shop", - "data": { - "numberField": 1, - "stringField": "example" - } - }, - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca342", - "source": "order-service", - "type": "orderValidated", - "time": "2020-01-01T10:00:10.000Z", - "traceid": "id1", - "group": "shop", - "data": { - "numberField": 1, - "stringField": "example" - } - }, - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca343", - "source": "shipping-service", - "type": "packageShipped", - "traceid": "id1", - "group": "shop", - "time": "2020-01-01T10:00:20.000Z" - } - ] +```json +[ + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca341", + "source": "order-service", + "type": "orderCreated", + "time": "2020-01-01T10:00:00.000Z", + "traceid": "id1", + "group": "shop", + "data": { + "numberField": 1, + "stringField": "example" + } + }, + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca342", + "source": "order-service", + "type": "orderValidated", + "time": "2020-01-01T10:00:10.000Z", + "traceid": "id1", + "group": "shop", + "data": { + "numberField": 1, + "stringField": "example" + } + }, + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca343", + "source": "shipping-service", + "type": "packageShipped", + "traceid": "id1", + "group": "shop", + "time": "2020-01-01T10:00:20.000Z" + } +] +``` #### Response diff --git a/optimize_versioned_docs/version-3.11.0/apis-tools/optimize-api/external-variable-ingestion.md b/optimize_versioned_docs/version-3.11.0/apis-tools/optimize-api/external-variable-ingestion.md index 7038767ee5a..3e72ed8a736 100644 --- a/optimize_versioned_docs/version-3.11.0/apis-tools/optimize-api/external-variable-ingestion.md +++ b/optimize_versioned_docs/version-3.11.0/apis-tools/optimize-api/external-variable-ingestion.md @@ -92,24 +92,26 @@ POST `/api/ingestion/variable` Request Body: - [ - { - "id": "7689fced-2639-4408-9de1-cf8f72769f43", - "name": "address", - "type": "string", - "value": "Main Street 1", - "processInstanceId": "c6393461-02bb-4f62-a4b7-f2f8d9bbbac1", - "processDefinitionKey": "shippingProcess" - }, - { - "id": "993f4e73-7f6a-46a6-bd45-f4f8e3470ba1", - "name": "amount", - "type": "integer", - "value": "500", - "processInstanceId": "8282ed49-2243-44df-be5e-1bf893755d8f", - "processDefinitionKey": "orderProcess" - } - ] +```json +[ + { + "id": "7689fced-2639-4408-9de1-cf8f72769f43", + "name": "address", + "type": "string", + "value": "Main Street 1", + "processInstanceId": "c6393461-02bb-4f62-a4b7-f2f8d9bbbac1", + "processDefinitionKey": "shippingProcess" + }, + { + "id": "993f4e73-7f6a-46a6-bd45-f4f8e3470ba1", + "name": "amount", + "type": "integer", + "value": "500", + "processInstanceId": "8282ed49-2243-44df-be5e-1bf893755d8f", + "processDefinitionKey": "orderProcess" + } +] +``` ### Response diff --git a/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md b/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md index 7bd865abbb7..a4b441b41e7 100644 --- a/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md +++ b/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md @@ -14,20 +14,20 @@ in Optimize. Using any other history level will result in less data and/or funct history in a connected engine should be configured for long enough for Optimize to import it. If data is removed from an engine before Optimize has imported it, that data will not be available in Optimize. -| YAML Path | Default Value | Description | -| ---------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| engines.${engineAlias}.name | default | The process engine's name on the platform, this is the unique engine identifier on the platforms REST API. | -| engines.${engineAlias}.defaultTenant.id | null | A default tenantID to associate all imported data with if there is no tenant configured in the engine itself. This property is only relevant in the context of a `One Process Engine Per Tenant` tenancy. For details consult the Multi-Tenancy documentation. | -| engines.${engineAlias}.defaultTenant.name | null | The name used for this default tenant when displayed in the UI. | -| engines.${engineAlias}.excludeTenant | [ ] | Comma-separated list of tenant IDs to be excluded when importing data from the specified engine. When left empty, data from all tenants will be imported. Please note that the `defaultTenant` cannot be excluded (and therefore also not the entities with `null` as tenant) | -| engines.${engineAlias}.rest | http://localhost:8080/engine-rest | A base URL that will be used for connections to the Camunda Engine REST API. | -| engines.${engineAlias}.importEnabled | true | Determines whether this instance of Optimize should import definition & historical data from this engine. | -| engines.${engineAlias}.eventImportEnabled | false | Determines whether this instance of Optimize should convert historical data to event data usable for event based processes. | -| engines.${engineAlias}.authentication.enabled | false | Toggles basic authentication on or off. When enabling basic authentication, please be aware that you also need to adjust the values of the user and password. | -| engines.${engineAlias}.authentication.user | | When basic authentication is enabled, this user is used to authenticate against the engine.

    Note: when enabled, it is required that the user has
    • `READ` & `READ_HISTORY` permission on the Process and Decision Definition resources
    • `READ` permission on _all_ ("\*") Authorization, Group, User, Tenant, Deployment & User Operation Log resources
    to enable users to log in and Optimize to import the engine data. | -| engines.${engineAlias}.authentication.password | | When basic authentication is enabled, this password is used to authenticate against the engine. | -| engines.${engineAlias}.webapps.endpoint | http://localhost:8080/camunda | Defines the endpoint where the Camunda webapps are found. This allows Optimize to directly link to the other Camunda Web Applications, e.g. to jump from Optimize directly to a dedicated process instance in Cockpit | -| engines.${engineAlias}.webapps.enabled | true | Enables/disables linking to other Camunda Web Applications | +| YAML Path | Default Value | Description | +| ----------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| engines.$\{engineAlias}.name | default | The process engine's name on the platform, this is the unique engine identifier on the platforms REST API. | +| engines.$\{engineAlias}.defaultTenant.id | null | A default tenantID to associate all imported data with if there is no tenant configured in the engine itself. This property is only relevant in the context of a `One Process Engine Per Tenant` tenancy. For details consult the Multi-Tenancy documentation. | +| engines.$\{engineAlias}.defaultTenant.name | null | The name used for this default tenant when displayed in the UI. | +| engines.$\{engineAlias}.excludeTenant | [ ] | Comma-separated list of tenant IDs to be excluded when importing data from the specified engine. When left empty, data from all tenants will be imported. Please note that the `defaultTenant` cannot be excluded (and therefore also not the entities with `null` as tenant) | +| engines.$\{engineAlias}.rest | http://localhost:8080/engine-rest | A base URL that will be used for connections to the Camunda Engine REST API. | +| engines.$\{engineAlias}.importEnabled | true | Determines whether this instance of Optimize should import definition & historical data from this engine. | +| engines.$\{engineAlias}.eventImportEnabled | false | Determines whether this instance of Optimize should convert historical data to event data usable for event based processes. | +| engines.$\{engineAlias}.authentication.enabled | false | Toggles basic authentication on or off. When enabling basic authentication, please be aware that you also need to adjust the values of the user and password. | +| engines.$\{engineAlias}.authentication.user | | When basic authentication is enabled, this user is used to authenticate against the engine.

    Note: when enabled, it is required that the user has
    • `READ` & `READ_HISTORY` permission on the Process and Decision Definition resources
    • `READ` permission on _all_ ("\*") Authorization, Group, User, Tenant, Deployment & User Operation Log resources
    to enable users to log in and Optimize to import the engine data. | +| engines.$\{engineAlias}.authentication.password | | When basic authentication is enabled, this password is used to authenticate against the engine. | +| engines.$\{engineAlias}.webapps.endpoint | http://localhost:8080/camunda | Defines the endpoint where the Camunda webapps are found. This allows Optimize to directly link to the other Camunda Web Applications, e.g. to jump from Optimize directly to a dedicated process instance in Cockpit | +| engines.$\{engineAlias}.webapps.enabled | true | Enables/disables linking to other Camunda Web Applications | ## Camunda 7 common import settings diff --git a/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/configuration/system-configuration.md b/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/configuration/system-configuration.md index 911913526d4..5631a0cfe74 100644 --- a/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/configuration/system-configuration.md +++ b/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/configuration/system-configuration.md @@ -212,16 +212,16 @@ Settings influencing the process digest feature. Settings for webhooks which can receive custom alert notifications. You can configure multiple webhooks which will be available to select from when creating or editing alerts. Each webhook configuration should have a unique human readable name which will appear in the Optimize UI. -| YAML Path | Default Value | Description | -| -------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| webhookAlerting.webhooks.${webhookName}.url | | The URL of the webhook. | -| webhookAlerting.webhooks.${webhookName}.headers | | A map of the headers of the request to be sent to the webhook. | -| webhookAlerting.webhooks.${webhookName}.httpMethod | | The HTTP Method of the request to be sent to the webhook. | -| webhookAlerting.webhooks.${webhookName}.defaultPayload | | The payload of the request to be sent to the webhook. This should include placeholder keys that allow you to define dynamic content. See [Alert Webhook Payload Placeholders](../webhooks#alert-webhook-payload-placeholders) for available values. | -| webhookAlerting.webhooks.${webhookName}.proxy.enabled | | Whether an HTTP proxy should be used for requests to the webhook URL. | -| webhookAlerting.webhooks.${webhookName}.proxy.host | | The proxy host to use, must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | -| webhookAlerting.webhooks.${webhookName}.proxy.port | | The proxy port to use, must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | -| webhookAlerting.webhooks.${webhookName}.proxy.sslEnabled | | Whether this proxy is using a secured connection (HTTPS). Must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | +| YAML Path | Default Value | Description | +| --------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| webhookAlerting.webhooks.$\{webhookName}.url | | The URL of the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.headers | | A map of the headers of the request to be sent to the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.httpMethod | | The HTTP Method of the request to be sent to the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.defaultPayload | | The payload of the request to be sent to the webhook. This should include placeholder keys that allow you to define dynamic content. See [Alert Webhook Payload Placeholders](../webhooks#alert-webhook-payload-placeholders) for available values. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.enabled | | Whether an HTTP proxy should be used for requests to the webhook URL. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.host | | The proxy host to use, must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.port | | The proxy port to use, must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.sslEnabled | | Whether this proxy is using a secured connection (HTTPS). Must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | ### History Cleanup Settings @@ -231,20 +231,20 @@ Settings for automatic cleanup of historic process/decision instances based on t Two types of history cleanup are available for Camunda 8 users at this time - process data cleanup and external variable cleanup. For more information, see [History cleanup](/optimize/self-managed/optimize-deployment/configuration/history-cleanup.md). ::: -| YAML Path | Default Value | Description | -| -------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| historyCleanup.cronTrigger | `'0 1 * * *'` | Cron expression to schedule when the cleanup should be executed, defaults to 01:00 A.M. As the cleanup can cause considerable load on the underlying Elasticsearch database it is recommended to schedule it outside of office hours. You can either use the default Cron (5 fields) or the Spring Cron (6 fields) expression format here. | -| historyCleanup.ttl | 'P2Y' | Global time to live (ttl) period for process/decision/event data. The relevant property differs between entities. For process data, it's the `endTime` of the process instance. For decision data, it's the `evaluationTime` and for ingested events it's the `time` field. The format of the string is ISO_8601 duration. The default value is 2 years. For details on the notation refer to: [https://en.wikipedia.org/wiki/ISO_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) Note: The time component of the ISO_8601 duration is not supported. Only years (Y), months (M) and days (D) are. | -| historyCleanup.processDataCleanup.enabled | false | A switch to activate the history cleanup of process data. \[true/false\] | -| historyCleanup.processDataCleanup.cleanupMode | 'all' | Global type of the cleanup to perform for process instances, possible values: 'all' - delete everything related and including the process instance that passed the defined ttl 'variables' - only delete variables of a process instance Note: This doesn't affect the decision instance cleanup which always deletes the whole instance. | -| historyCleanup.processDataCleanup.batchSize | 10000 | Defines the batch size in which Camunda engine process instance data gets cleaned up. It may be reduced if requests fail due to request size constraints. In most cases, this should not be necessary and has only been experienced when connecting to an AWS Elasticsearch instance. | -| historyCleanup.processDataCleanup.perProcessDefinitionConfig | | A list of process definition specific configuration parameters that will overwrite the global cleanup settings for the specific process definition identified by its ${key}. | -| historyCleanup.processDataCleanup .perProcessDefinitionConfig.${key}.ttl | | Time to live to use for process instances of the process definition with the ${key}. | -| historyCleanup.processDataCleanup .perProcessDefinitionConfig.${key}.cleanupMode | | Cleanup mode to use for process instances of the process definition with the ${key}. | -| historyCleanup.decisionDataCleanup.enabled | false | A switch to activate the history cleanup of decision data. \[true/false\] | -| historyCleanup.decisionDataCleanup.perDecisionDefinitionConfig | | A list of decision definition specific configuration parameters that will overwrite the global cleanup settings for the specific decision definition identified by its ${key}. | -| historyCleanup.decisionDataCleanup .perDecisionDefinitionConfig.${key}.ttl | | Time to live to use for decision instances of the decision definition with the ${key}. | -| historyCleanup.ingestedEventCleanup.enabled | false | A switch to activate the history cleanup of ingested event data. \[true/false\] | +| YAML Path | Default Value | Description | +| --------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| historyCleanup.cronTrigger | `'0 1 * * *'` | Cron expression to schedule when the cleanup should be executed, defaults to 01:00 A.M. As the cleanup can cause considerable load on the underlying Elasticsearch database it is recommended to schedule it outside of office hours. You can either use the default Cron (5 fields) or the Spring Cron (6 fields) expression format here. | +| historyCleanup.ttl | 'P2Y' | Global time to live (ttl) period for process/decision/event data. The relevant property differs between entities. For process data, it's the `endTime` of the process instance. For decision data, it's the `evaluationTime` and for ingested events it's the `time` field. The format of the string is ISO_8601 duration. The default value is 2 years. For details on the notation refer to: [https://en.wikipedia.org/wiki/ISO_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) Note: The time component of the ISO_8601 duration is not supported. Only years (Y), months (M) and days (D) are. | +| historyCleanup.processDataCleanup.enabled | false | A switch to activate the history cleanup of process data. \[true/false\] | +| historyCleanup.processDataCleanup.cleanupMode | 'all' | Global type of the cleanup to perform for process instances, possible values: 'all' - delete everything related and including the process instance that passed the defined ttl 'variables' - only delete variables of a process instance Note: This doesn't affect the decision instance cleanup which always deletes the whole instance. | +| historyCleanup.processDataCleanup.batchSize | 10000 | Defines the batch size in which Camunda engine process instance data gets cleaned up. It may be reduced if requests fail due to request size constraints. In most cases, this should not be necessary and has only been experienced when connecting to an AWS Elasticsearch instance. | +| historyCleanup.processDataCleanup.perProcessDefinitionConfig | | A list of process definition specific configuration parameters that will overwrite the global cleanup settings for the specific process definition identified by its $\{key}. | +| historyCleanup.processDataCleanup .perProcessDefinitionConfig.$\{key}.ttl | | Time to live to use for process instances of the process definition with the $\{key}. | +| historyCleanup.processDataCleanup .perProcessDefinitionConfig.$\{key}.cleanupMode | | Cleanup mode to use for process instances of the process definition with the $\{key}. | +| historyCleanup.decisionDataCleanup.enabled | false | A switch to activate the history cleanup of decision data. \[true/false\] | +| historyCleanup.decisionDataCleanup.perDecisionDefinitionConfig | | A list of decision definition specific configuration parameters that will overwrite the global cleanup settings for the specific decision definition identified by its $\{key}. | +| historyCleanup.decisionDataCleanup .perDecisionDefinitionConfig.$\{key}.ttl | | Time to live to use for decision instances of the decision definition with the $\{key}. | +| historyCleanup.ingestedEventCleanup.enabled | false | A switch to activate the history cleanup of ingested event data. \[true/false\] | ### Localization diff --git a/optimize_versioned_docs/version-3.12.0/apis-tools/optimize-api/event-ingestion.md b/optimize_versioned_docs/version-3.12.0/apis-tools/optimize-api/event-ingestion.md index 76a4f9ad0e7..22ab6d51022 100644 --- a/optimize_versioned_docs/version-3.12.0/apis-tools/optimize-api/event-ingestion.md +++ b/optimize_versioned_docs/version-3.12.0/apis-tools/optimize-api/event-ingestion.md @@ -108,43 +108,45 @@ POST `/api/ingestion/event/batch` ##### Request body - [ - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca341", - "source": "order-service", - "type": "orderCreated", - "time": "2020-01-01T10:00:00.000Z", - "traceid": "id1", - "group": "shop", - "data": { - "numberField": 1, - "stringField": "example" - } - }, - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca342", - "source": "order-service", - "type": "orderValidated", - "time": "2020-01-01T10:00:10.000Z", - "traceid": "id1", - "group": "shop", - "data": { - "numberField": 1, - "stringField": "example" - } - }, - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca343", - "source": "shipping-service", - "type": "packageShipped", - "traceid": "id1", - "group": "shop", - "time": "2020-01-01T10:00:20.000Z" - } - ] +```json +[ + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca341", + "source": "order-service", + "type": "orderCreated", + "time": "2020-01-01T10:00:00.000Z", + "traceid": "id1", + "group": "shop", + "data": { + "numberField": 1, + "stringField": "example" + } + }, + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca342", + "source": "order-service", + "type": "orderValidated", + "time": "2020-01-01T10:00:10.000Z", + "traceid": "id1", + "group": "shop", + "data": { + "numberField": 1, + "stringField": "example" + } + }, + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca343", + "source": "shipping-service", + "type": "packageShipped", + "traceid": "id1", + "group": "shop", + "time": "2020-01-01T10:00:20.000Z" + } +] +``` #### Response diff --git a/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md b/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md index e5491a96aea..13b76efb7d6 100644 --- a/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md +++ b/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md @@ -18,20 +18,20 @@ in Optimize. Using any other history level will result in less data and/or funct history in a connected engine should be configured for long enough for Optimize to import it. If data is removed from an engine before Optimize has imported it, that data will not be available in Optimize. -| YAML path | Default value | Description | -| ---------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| engines.${engineAlias}.name | default | The process engine's name on the platform, this is the unique engine identifier on the platforms REST API. | -| engines.${engineAlias}.defaultTenant.id | null | A default tenantID to associate all imported data with if there is no tenant configured in the engine itself. This property is only relevant in the context of a `One Process Engine Per Tenant` tenancy. For details consult the Multi-Tenancy documentation. | -| engines.${engineAlias}.defaultTenant.name | null | The name used for this default tenant when displayed in the UI. | -| engines.${engineAlias}.excludeTenant | [ ] | Comma-separated list of tenant IDs to be excluded when importing data from the specified engine. When left empty, data from all tenants will be imported. Please note that the `defaultTenant` cannot be excluded (and therefore also not the entities with `null` as tenant) | -| engines.${engineAlias}.rest | http://localhost:8080/engine-rest | A base URL that will be used for connections to the Camunda Engine REST API. | -| engines.${engineAlias}.importEnabled | true | Determines whether this instance of Optimize should import definition & historical data from this engine. | -| engines.${engineAlias}.eventImportEnabled | false | Determines whether this instance of Optimize should convert historical data to event data usable for event based processes. | -| engines.${engineAlias}.authentication.enabled | false | Toggles basic authentication on or off. When enabling basic authentication, please be aware that you also need to adjust the values of the user and password. | -| engines.${engineAlias}.authentication.user | | When basic authentication is enabled, this user is used to authenticate against the engine.

    Note: when enabled, it is required that the user has
    • `READ` & `READ_HISTORY` permission on the Process and Decision Definition resources
    • `READ` permission on _all_ ("\*") Authorization, Group, User, Tenant, Deployment & User Operation Log resources
    to enable users to log in and Optimize to import the engine data. | -| engines.${engineAlias}.authentication.password | | When basic authentication is enabled, this password is used to authenticate against the engine. | -| engines.${engineAlias}.webapps.endpoint | http://localhost:8080/camunda | Defines the endpoint where the Camunda webapps are found. This allows Optimize to directly link to the other Camunda Web Applications, e.g. to jump from Optimize directly to a dedicated process instance in Cockpit | -| engines.${engineAlias}.webapps.enabled | true | Enables/disables linking to other Camunda Web Applications | +| YAML path | Default value | Description | +| ----------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| engines.$\{engineAlias}.name | default | The process engine's name on the platform, this is the unique engine identifier on the platforms REST API. | +| engines.$\{engineAlias}.defaultTenant.id | null | A default tenantID to associate all imported data with if there is no tenant configured in the engine itself. This property is only relevant in the context of a `One Process Engine Per Tenant` tenancy. For details consult the Multi-Tenancy documentation. | +| engines.$\{engineAlias}.defaultTenant.name | null | The name used for this default tenant when displayed in the UI. | +| engines.$\{engineAlias}.excludeTenant | [ ] | Comma-separated list of tenant IDs to be excluded when importing data from the specified engine. When left empty, data from all tenants will be imported. Please note that the `defaultTenant` cannot be excluded (and therefore also not the entities with `null` as tenant) | +| engines.$\{engineAlias}.rest | http://localhost:8080/engine-rest | A base URL that will be used for connections to the Camunda Engine REST API. | +| engines.$\{engineAlias}.importEnabled | true | Determines whether this instance of Optimize should import definition & historical data from this engine. | +| engines.$\{engineAlias}.eventImportEnabled | false | Determines whether this instance of Optimize should convert historical data to event data usable for event based processes. | +| engines.$\{engineAlias}.authentication.enabled | false | Toggles basic authentication on or off. When enabling basic authentication, please be aware that you also need to adjust the values of the user and password. | +| engines.$\{engineAlias}.authentication.user | | When basic authentication is enabled, this user is used to authenticate against the engine.

    Note: when enabled, it is required that the user has
    • `READ` & `READ_HISTORY` permission on the Process and Decision Definition resources
    • `READ` permission on _all_ ("\*") Authorization, Group, User, Tenant, Deployment & User Operation Log resources
    to enable users to log in and Optimize to import the engine data. | +| engines.$\{engineAlias}.authentication.password | | When basic authentication is enabled, this password is used to authenticate against the engine. | +| engines.$\{engineAlias}.webapps.endpoint | http://localhost:8080/camunda | Defines the endpoint where the Camunda webapps are found. This allows Optimize to directly link to the other Camunda Web Applications, e.g. to jump from Optimize directly to a dedicated process instance in Cockpit | +| engines.$\{engineAlias}.webapps.enabled | true | Enables/disables linking to other Camunda Web Applications | ## Camunda 7 common import settings diff --git a/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/configuration/system-configuration.md b/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/configuration/system-configuration.md index edf98f8cd65..8430a31cf7b 100644 --- a/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/configuration/system-configuration.md +++ b/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/configuration/system-configuration.md @@ -212,16 +212,16 @@ Settings influencing the process digest feature. Settings for webhooks which can receive custom alert notifications. You can configure multiple webhooks which will be available to select from when creating or editing alerts. Each webhook configuration should have a unique human readable name which will appear in the Optimize UI. -| YAML path | Default value | Description | -| -------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| webhookAlerting.webhooks.${webhookName}.url | | The URL of the webhook. | -| webhookAlerting.webhooks.${webhookName}.headers | | A map of the headers of the request to be sent to the webhook. | -| webhookAlerting.webhooks.${webhookName}.httpMethod | | The HTTP Method of the request to be sent to the webhook. | -| webhookAlerting.webhooks.${webhookName}.defaultPayload | | The payload of the request to be sent to the webhook. This should include placeholder keys that allow you to define dynamic content. See [Alert Webhook Payload Placeholders](../webhooks#alert-webhook-payload-placeholders) for available values. | -| webhookAlerting.webhooks.${webhookName}.proxy.enabled | | Whether an HTTP proxy should be used for requests to the webhook URL. | -| webhookAlerting.webhooks.${webhookName}.proxy.host | | The proxy host to use, must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | -| webhookAlerting.webhooks.${webhookName}.proxy.port | | The proxy port to use, must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | -| webhookAlerting.webhooks.${webhookName}.proxy.sslEnabled | | Whether this proxy is using a secured connection (HTTPS). Must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | +| YAML path | Default value | Description | +| --------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| webhookAlerting.webhooks.$\{webhookName}.url | | The URL of the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.headers | | A map of the headers of the request to be sent to the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.httpMethod | | The HTTP Method of the request to be sent to the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.defaultPayload | | The payload of the request to be sent to the webhook. This should include placeholder keys that allow you to define dynamic content. See [Alert Webhook Payload Placeholders](../webhooks#alert-webhook-payload-placeholders) for available values. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.enabled | | Whether an HTTP proxy should be used for requests to the webhook URL. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.host | | The proxy host to use, must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.port | | The proxy port to use, must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.sslEnabled | | Whether this proxy is using a secured connection (HTTPS). Must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | ### History cleanup settings @@ -231,20 +231,20 @@ Settings for automatic cleanup of historic process/decision instances based on t Two types of history cleanup are available for Camunda 8 users at this time - process data cleanup and external variable cleanup. For more information, see [History cleanup](/optimize/self-managed/optimize-deployment/configuration/history-cleanup.md). ::: -| YAML path | Default value | Description | -| -------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| historyCleanup.cronTrigger | `'0 1 * * *'` | Cron expression to schedule when the cleanup should be executed, defaults to 01:00 A.M. As the cleanup can cause considerable load on the underlying Elasticsearch database it is recommended to schedule it outside of office hours. You can either use the default Cron (5 fields) or the Spring Cron (6 fields) expression format here. | -| historyCleanup.ttl | 'P2Y' | Global time to live (ttl) period for process/decision/event data. The relevant property differs between entities. For process data, it's the `endTime` of the process instance. For decision data, it's the `evaluationTime` and for ingested events it's the `time` field. The format of the string is ISO_8601 duration. The default value is 2 years. For details on the notation refer to: [https://en.wikipedia.org/wiki/ISO_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) Note: The time component of the ISO_8601 duration is not supported. Only years (Y), months (M) and days (D) are. | -| historyCleanup.processDataCleanup.enabled | false | A switch to activate the history cleanup of process data. \[true/false\] | -| historyCleanup.processDataCleanup.cleanupMode | 'all' | Global type of the cleanup to perform for process instances, possible values: 'all' - delete everything related and including the process instance that passed the defined ttl 'variables' - only delete variables of a process instance Note: This doesn't affect the decision instance cleanup which always deletes the whole instance. | -| historyCleanup.processDataCleanup.batchSize | 10000 | Defines the batch size in which Camunda engine process instance data gets cleaned up. It may be reduced if requests fail due to request size constraints. In most cases, this should not be necessary and has only been experienced when connecting to an AWS Elasticsearch instance. | -| historyCleanup.processDataCleanup.perProcessDefinitionConfig | | A list of process definition specific configuration parameters that will overwrite the global cleanup settings for the specific process definition identified by its ${key}. | -| historyCleanup.processDataCleanup .perProcessDefinitionConfig.${key}.ttl | | Time to live to use for process instances of the process definition with the ${key}. | -| historyCleanup.processDataCleanup .perProcessDefinitionConfig.${key}.cleanupMode | | Cleanup mode to use for process instances of the process definition with the ${key}. | -| historyCleanup.decisionDataCleanup.enabled | false | A switch to activate the history cleanup of decision data. \[true/false\] | -| historyCleanup.decisionDataCleanup.perDecisionDefinitionConfig | | A list of decision definition specific configuration parameters that will overwrite the global cleanup settings for the specific decision definition identified by its ${key}. | -| historyCleanup.decisionDataCleanup .perDecisionDefinitionConfig.${key}.ttl | | Time to live to use for decision instances of the decision definition with the ${key}. | -| historyCleanup.ingestedEventCleanup.enabled | false | A switch to activate the history cleanup of ingested event data. \[true/false\] | +| YAML path | Default value | Description | +| --------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| historyCleanup.cronTrigger | `'0 1 * * *'` | Cron expression to schedule when the cleanup should be executed, defaults to 01:00 A.M. As the cleanup can cause considerable load on the underlying Elasticsearch database it is recommended to schedule it outside of office hours. You can either use the default Cron (5 fields) or the Spring Cron (6 fields) expression format here. | +| historyCleanup.ttl | 'P2Y' | Global time to live (ttl) period for process/decision/event data. The relevant property differs between entities. For process data, it's the `endTime` of the process instance. For decision data, it's the `evaluationTime` and for ingested events it's the `time` field. The format of the string is ISO_8601 duration. The default value is 2 years. For details on the notation refer to: [https://en.wikipedia.org/wiki/ISO_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) Note: The time component of the ISO_8601 duration is not supported. Only years (Y), months (M) and days (D) are. | +| historyCleanup.processDataCleanup.enabled | false | A switch to activate the history cleanup of process data. \[true/false\] | +| historyCleanup.processDataCleanup.cleanupMode | 'all' | Global type of the cleanup to perform for process instances, possible values: 'all' - delete everything related and including the process instance that passed the defined ttl 'variables' - only delete variables of a process instance Note: This doesn't affect the decision instance cleanup which always deletes the whole instance. | +| historyCleanup.processDataCleanup.batchSize | 10000 | Defines the batch size in which Camunda engine process instance data gets cleaned up. It may be reduced if requests fail due to request size constraints. In most cases, this should not be necessary and has only been experienced when connecting to an AWS Elasticsearch instance. | +| historyCleanup.processDataCleanup.perProcessDefinitionConfig | | A list of process definition specific configuration parameters that will overwrite the global cleanup settings for the specific process definition identified by its $\{key}. | +| historyCleanup.processDataCleanup .perProcessDefinitionConfig.$\{key}.ttl | | Time to live to use for process instances of the process definition with the $\{key}. | +| historyCleanup.processDataCleanup .perProcessDefinitionConfig.$\{key}.cleanupMode | | Cleanup mode to use for process instances of the process definition with the $\{key}. | +| historyCleanup.decisionDataCleanup.enabled | false | A switch to activate the history cleanup of decision data. \[true/false\] | +| historyCleanup.decisionDataCleanup.perDecisionDefinitionConfig | | A list of decision definition specific configuration parameters that will overwrite the global cleanup settings for the specific decision definition identified by its $\{key}. | +| historyCleanup.decisionDataCleanup .perDecisionDefinitionConfig.$\{key}.ttl | | Time to live to use for decision instances of the decision definition with the $\{key}. | +| historyCleanup.ingestedEventCleanup.enabled | false | A switch to activate the history cleanup of ingested event data. \[true/false\] | ### Localization diff --git a/optimize_versioned_docs/version-3.13.0/apis-tools/optimize-api/event-ingestion.md b/optimize_versioned_docs/version-3.13.0/apis-tools/optimize-api/event-ingestion.md index 76a4f9ad0e7..22ab6d51022 100644 --- a/optimize_versioned_docs/version-3.13.0/apis-tools/optimize-api/event-ingestion.md +++ b/optimize_versioned_docs/version-3.13.0/apis-tools/optimize-api/event-ingestion.md @@ -108,43 +108,45 @@ POST `/api/ingestion/event/batch` ##### Request body - [ - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca341", - "source": "order-service", - "type": "orderCreated", - "time": "2020-01-01T10:00:00.000Z", - "traceid": "id1", - "group": "shop", - "data": { - "numberField": 1, - "stringField": "example" - } - }, - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca342", - "source": "order-service", - "type": "orderValidated", - "time": "2020-01-01T10:00:10.000Z", - "traceid": "id1", - "group": "shop", - "data": { - "numberField": 1, - "stringField": "example" - } - }, - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca343", - "source": "shipping-service", - "type": "packageShipped", - "traceid": "id1", - "group": "shop", - "time": "2020-01-01T10:00:20.000Z" - } - ] +```json +[ + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca341", + "source": "order-service", + "type": "orderCreated", + "time": "2020-01-01T10:00:00.000Z", + "traceid": "id1", + "group": "shop", + "data": { + "numberField": 1, + "stringField": "example" + } + }, + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca342", + "source": "order-service", + "type": "orderValidated", + "time": "2020-01-01T10:00:10.000Z", + "traceid": "id1", + "group": "shop", + "data": { + "numberField": 1, + "stringField": "example" + } + }, + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca343", + "source": "shipping-service", + "type": "packageShipped", + "traceid": "id1", + "group": "shop", + "time": "2020-01-01T10:00:20.000Z" + } +] +``` #### Response diff --git a/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md b/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md index e5491a96aea..13b76efb7d6 100644 --- a/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md +++ b/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md @@ -18,20 +18,20 @@ in Optimize. Using any other history level will result in less data and/or funct history in a connected engine should be configured for long enough for Optimize to import it. If data is removed from an engine before Optimize has imported it, that data will not be available in Optimize. -| YAML path | Default value | Description | -| ---------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| engines.${engineAlias}.name | default | The process engine's name on the platform, this is the unique engine identifier on the platforms REST API. | -| engines.${engineAlias}.defaultTenant.id | null | A default tenantID to associate all imported data with if there is no tenant configured in the engine itself. This property is only relevant in the context of a `One Process Engine Per Tenant` tenancy. For details consult the Multi-Tenancy documentation. | -| engines.${engineAlias}.defaultTenant.name | null | The name used for this default tenant when displayed in the UI. | -| engines.${engineAlias}.excludeTenant | [ ] | Comma-separated list of tenant IDs to be excluded when importing data from the specified engine. When left empty, data from all tenants will be imported. Please note that the `defaultTenant` cannot be excluded (and therefore also not the entities with `null` as tenant) | -| engines.${engineAlias}.rest | http://localhost:8080/engine-rest | A base URL that will be used for connections to the Camunda Engine REST API. | -| engines.${engineAlias}.importEnabled | true | Determines whether this instance of Optimize should import definition & historical data from this engine. | -| engines.${engineAlias}.eventImportEnabled | false | Determines whether this instance of Optimize should convert historical data to event data usable for event based processes. | -| engines.${engineAlias}.authentication.enabled | false | Toggles basic authentication on or off. When enabling basic authentication, please be aware that you also need to adjust the values of the user and password. | -| engines.${engineAlias}.authentication.user | | When basic authentication is enabled, this user is used to authenticate against the engine.

    Note: when enabled, it is required that the user has
    • `READ` & `READ_HISTORY` permission on the Process and Decision Definition resources
    • `READ` permission on _all_ ("\*") Authorization, Group, User, Tenant, Deployment & User Operation Log resources
    to enable users to log in and Optimize to import the engine data. | -| engines.${engineAlias}.authentication.password | | When basic authentication is enabled, this password is used to authenticate against the engine. | -| engines.${engineAlias}.webapps.endpoint | http://localhost:8080/camunda | Defines the endpoint where the Camunda webapps are found. This allows Optimize to directly link to the other Camunda Web Applications, e.g. to jump from Optimize directly to a dedicated process instance in Cockpit | -| engines.${engineAlias}.webapps.enabled | true | Enables/disables linking to other Camunda Web Applications | +| YAML path | Default value | Description | +| ----------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| engines.$\{engineAlias}.name | default | The process engine's name on the platform, this is the unique engine identifier on the platforms REST API. | +| engines.$\{engineAlias}.defaultTenant.id | null | A default tenantID to associate all imported data with if there is no tenant configured in the engine itself. This property is only relevant in the context of a `One Process Engine Per Tenant` tenancy. For details consult the Multi-Tenancy documentation. | +| engines.$\{engineAlias}.defaultTenant.name | null | The name used for this default tenant when displayed in the UI. | +| engines.$\{engineAlias}.excludeTenant | [ ] | Comma-separated list of tenant IDs to be excluded when importing data from the specified engine. When left empty, data from all tenants will be imported. Please note that the `defaultTenant` cannot be excluded (and therefore also not the entities with `null` as tenant) | +| engines.$\{engineAlias}.rest | http://localhost:8080/engine-rest | A base URL that will be used for connections to the Camunda Engine REST API. | +| engines.$\{engineAlias}.importEnabled | true | Determines whether this instance of Optimize should import definition & historical data from this engine. | +| engines.$\{engineAlias}.eventImportEnabled | false | Determines whether this instance of Optimize should convert historical data to event data usable for event based processes. | +| engines.$\{engineAlias}.authentication.enabled | false | Toggles basic authentication on or off. When enabling basic authentication, please be aware that you also need to adjust the values of the user and password. | +| engines.$\{engineAlias}.authentication.user | | When basic authentication is enabled, this user is used to authenticate against the engine.

    Note: when enabled, it is required that the user has
    • `READ` & `READ_HISTORY` permission on the Process and Decision Definition resources
    • `READ` permission on _all_ ("\*") Authorization, Group, User, Tenant, Deployment & User Operation Log resources
    to enable users to log in and Optimize to import the engine data. | +| engines.$\{engineAlias}.authentication.password | | When basic authentication is enabled, this password is used to authenticate against the engine. | +| engines.$\{engineAlias}.webapps.endpoint | http://localhost:8080/camunda | Defines the endpoint where the Camunda webapps are found. This allows Optimize to directly link to the other Camunda Web Applications, e.g. to jump from Optimize directly to a dedicated process instance in Cockpit | +| engines.$\{engineAlias}.webapps.enabled | true | Enables/disables linking to other Camunda Web Applications | ## Camunda 7 common import settings diff --git a/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/configuration/system-configuration.md b/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/configuration/system-configuration.md index 9a871dd74d7..a1ddfdd93f1 100644 --- a/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/configuration/system-configuration.md +++ b/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/configuration/system-configuration.md @@ -269,16 +269,16 @@ Settings influencing the process digest feature. Settings for webhooks which can receive custom alert notifications. You can configure multiple webhooks which will be available to select from when creating or editing alerts. Each webhook configuration should have a unique human readable name which will appear in the Optimize UI. -| YAML path | Default value | Description | -| -------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| webhookAlerting.webhooks.${webhookName}.url | | The URL of the webhook. | -| webhookAlerting.webhooks.${webhookName}.headers | | A map of the headers of the request to be sent to the webhook. | -| webhookAlerting.webhooks.${webhookName}.httpMethod | | The HTTP Method of the request to be sent to the webhook. | -| webhookAlerting.webhooks.${webhookName}.defaultPayload | | The payload of the request to be sent to the webhook. This should include placeholder keys that allow you to define dynamic content. See [Alert Webhook Payload Placeholders](../webhooks#alert-webhook-payload-placeholders) for available values. | -| webhookAlerting.webhooks.${webhookName}.proxy.enabled | | Whether an HTTP proxy should be used for requests to the webhook URL. | -| webhookAlerting.webhooks.${webhookName}.proxy.host | | The proxy host to use, must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | -| webhookAlerting.webhooks.${webhookName}.proxy.port | | The proxy port to use, must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | -| webhookAlerting.webhooks.${webhookName}.proxy.sslEnabled | | Whether this proxy is using a secured connection (HTTPS). Must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | +| YAML path | Default value | Description | +| --------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| webhookAlerting.webhooks.$\{webhookName}.url | | The URL of the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.headers | | A map of the headers of the request to be sent to the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.httpMethod | | The HTTP Method of the request to be sent to the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.defaultPayload | | The payload of the request to be sent to the webhook. This should include placeholder keys that allow you to define dynamic content. See [Alert Webhook Payload Placeholders](../webhooks#alert-webhook-payload-placeholders) for available values. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.enabled | | Whether an HTTP proxy should be used for requests to the webhook URL. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.host | | The proxy host to use, must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.port | | The proxy port to use, must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.sslEnabled | | Whether this proxy is using a secured connection (HTTPS). Must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | ### History cleanup settings @@ -288,20 +288,20 @@ Settings for automatic cleanup of historic process/decision instances based on t Two types of history cleanup are available for Camunda 8 users at this time - process data cleanup and external variable cleanup. For more information, see [History cleanup](/optimize/self-managed/optimize-deployment/configuration/history-cleanup.md). ::: -| YAML path | Default value | Description | -| -------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| historyCleanup.cronTrigger | `'0 1 * * *'` | Cron expression to schedule when the cleanup should be executed, defaults to 01:00 A.M. As the cleanup can cause considerable load on the underlying database it is recommended to schedule it outside of office hours. You can either use the default Cron (5 fields) or the Spring Cron (6 fields) expression format here. | -| historyCleanup.ttl | 'P2Y' | Global time to live (ttl) period for process/decision/event data. The relevant property differs between entities. For process data, it's the `endTime` of the process instance. For decision data, it's the `evaluationTime` and for ingested events it's the `time` field. The format of the string is ISO_8601 duration. The default value is 2 years. For details on the notation refer to: [https://en.wikipedia.org/wiki/ISO_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) Note: The time component of the ISO_8601 duration is not supported. Only years (Y), months (M) and days (D) are. | -| historyCleanup.processDataCleanup.enabled | false | A switch to activate the history cleanup of process data. \[true/false\] | -| historyCleanup.processDataCleanup.cleanupMode | 'all' | Global type of the cleanup to perform for process instances, possible values: 'all' - delete everything related and including the process instance that passed the defined ttl 'variables' - only delete variables of a process instance Note: This doesn't affect the decision instance cleanup which always deletes the whole instance. | -| historyCleanup.processDataCleanup.batchSize | 10000 | Defines the batch size in which Camunda engine process instance data gets cleaned up. It may be reduced if requests fail due to request size constraints. In most cases, this should not be necessary and has only been experienced when connecting to an AWS Elasticsearch instance. | -| historyCleanup.processDataCleanup.perProcessDefinitionConfig | | A list of process definition specific configuration parameters that will overwrite the global cleanup settings for the specific process definition identified by its ${key}. | -| historyCleanup.processDataCleanup .perProcessDefinitionConfig.${key}.ttl | | Time to live to use for process instances of the process definition with the ${key}. | -| historyCleanup.processDataCleanup .perProcessDefinitionConfig.${key}.cleanupMode | | Cleanup mode to use for process instances of the process definition with the ${key}. | -| historyCleanup.decisionDataCleanup.enabled | false | A switch to activate the history cleanup of decision data. \[true/false\] | -| historyCleanup.decisionDataCleanup.perDecisionDefinitionConfig | | A list of decision definition specific configuration parameters that will overwrite the global cleanup settings for the specific decision definition identified by its ${key}. | -| historyCleanup.decisionDataCleanup .perDecisionDefinitionConfig.${key}.ttl | | Time to live to use for decision instances of the decision definition with the ${key}. | -| historyCleanup.ingestedEventCleanup.enabled | false | A switch to activate the history cleanup of ingested event data. \[true/false\] | +| YAML path | Default value | Description | +| --------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| historyCleanup.cronTrigger | `'0 1 * * *'` | Cron expression to schedule when the cleanup should be executed, defaults to 01:00 A.M. As the cleanup can cause considerable load on the underlying database it is recommended to schedule it outside of office hours. You can either use the default Cron (5 fields) or the Spring Cron (6 fields) expression format here. | +| historyCleanup.ttl | 'P2Y' | Global time to live (ttl) period for process/decision/event data. The relevant property differs between entities. For process data, it's the `endTime` of the process instance. For decision data, it's the `evaluationTime` and for ingested events it's the `time` field. The format of the string is ISO_8601 duration. The default value is 2 years. For details on the notation refer to: [https://en.wikipedia.org/wiki/ISO_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) Note: The time component of the ISO_8601 duration is not supported. Only years (Y), months (M) and days (D) are. | +| historyCleanup.processDataCleanup.enabled | false | A switch to activate the history cleanup of process data. \[true/false\] | +| historyCleanup.processDataCleanup.cleanupMode | 'all' | Global type of the cleanup to perform for process instances, possible values: 'all' - delete everything related and including the process instance that passed the defined ttl 'variables' - only delete variables of a process instance Note: This doesn't affect the decision instance cleanup which always deletes the whole instance. | +| historyCleanup.processDataCleanup.batchSize | 10000 | Defines the batch size in which Camunda engine process instance data gets cleaned up. It may be reduced if requests fail due to request size constraints. In most cases, this should not be necessary and has only been experienced when connecting to an AWS Elasticsearch instance. | +| historyCleanup.processDataCleanup.perProcessDefinitionConfig | | A list of process definition specific configuration parameters that will overwrite the global cleanup settings for the specific process definition identified by its $\{key}. | +| historyCleanup.processDataCleanup .perProcessDefinitionConfig.$\{key}.ttl | | Time to live to use for process instances of the process definition with the $\{key}. | +| historyCleanup.processDataCleanup .perProcessDefinitionConfig.$\{key}.cleanupMode | | Cleanup mode to use for process instances of the process definition with the $\{key}. | +| historyCleanup.decisionDataCleanup.enabled | false | A switch to activate the history cleanup of decision data. \[true/false\] | +| historyCleanup.decisionDataCleanup.perDecisionDefinitionConfig | | A list of decision definition specific configuration parameters that will overwrite the global cleanup settings for the specific decision definition identified by its $\{key}. | +| historyCleanup.decisionDataCleanup .perDecisionDefinitionConfig.$\{key}.ttl | | Time to live to use for decision instances of the decision definition with the $\{key}. | +| historyCleanup.ingestedEventCleanup.enabled | false | A switch to activate the history cleanup of ingested event data. \[true/false\] | ### Localization diff --git a/optimize_versioned_docs/version-3.14.0/apis-tools/optimize-api/event-ingestion.md b/optimize_versioned_docs/version-3.14.0/apis-tools/optimize-api/event-ingestion.md index a5a356dd4b7..6e43d73fd6c 100644 --- a/optimize_versioned_docs/version-3.14.0/apis-tools/optimize-api/event-ingestion.md +++ b/optimize_versioned_docs/version-3.14.0/apis-tools/optimize-api/event-ingestion.md @@ -108,43 +108,45 @@ POST `/api/ingestion/event/batch` ##### Request body - [ - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca341", - "source": "order-service", - "type": "orderCreated", - "time": "2020-01-01T10:00:00.000Z", - "traceid": "id1", - "group": "shop", - "data": { - "numberField": 1, - "stringField": "example" - } - }, - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca342", - "source": "order-service", - "type": "orderValidated", - "time": "2020-01-01T10:00:10.000Z", - "traceid": "id1", - "group": "shop", - "data": { - "numberField": 1, - "stringField": "example" - } - }, - { - "specversion": "1.0", - "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca343", - "source": "shipping-service", - "type": "packageShipped", - "traceid": "id1", - "group": "shop", - "time": "2020-01-01T10:00:20.000Z" - } - ] +```json +[ + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca341", + "source": "order-service", + "type": "orderCreated", + "time": "2020-01-01T10:00:00.000Z", + "traceid": "id1", + "group": "shop", + "data": { + "numberField": 1, + "stringField": "example" + } + }, + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca342", + "source": "order-service", + "type": "orderValidated", + "time": "2020-01-01T10:00:10.000Z", + "traceid": "id1", + "group": "shop", + "data": { + "numberField": 1, + "stringField": "example" + } + }, + { + "specversion": "1.0", + "id": "1edc4160-74e5-4ffc-af59-2d281cf5aca343", + "source": "shipping-service", + "type": "packageShipped", + "traceid": "id1", + "group": "shop", + "time": "2020-01-01T10:00:20.000Z" + } +] +``` #### Response diff --git a/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md b/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md index e5491a96aea..13b76efb7d6 100644 --- a/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md +++ b/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/configuration/system-configuration-platform-7.md @@ -18,20 +18,20 @@ in Optimize. Using any other history level will result in less data and/or funct history in a connected engine should be configured for long enough for Optimize to import it. If data is removed from an engine before Optimize has imported it, that data will not be available in Optimize. -| YAML path | Default value | Description | -| ---------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| engines.${engineAlias}.name | default | The process engine's name on the platform, this is the unique engine identifier on the platforms REST API. | -| engines.${engineAlias}.defaultTenant.id | null | A default tenantID to associate all imported data with if there is no tenant configured in the engine itself. This property is only relevant in the context of a `One Process Engine Per Tenant` tenancy. For details consult the Multi-Tenancy documentation. | -| engines.${engineAlias}.defaultTenant.name | null | The name used for this default tenant when displayed in the UI. | -| engines.${engineAlias}.excludeTenant | [ ] | Comma-separated list of tenant IDs to be excluded when importing data from the specified engine. When left empty, data from all tenants will be imported. Please note that the `defaultTenant` cannot be excluded (and therefore also not the entities with `null` as tenant) | -| engines.${engineAlias}.rest | http://localhost:8080/engine-rest | A base URL that will be used for connections to the Camunda Engine REST API. | -| engines.${engineAlias}.importEnabled | true | Determines whether this instance of Optimize should import definition & historical data from this engine. | -| engines.${engineAlias}.eventImportEnabled | false | Determines whether this instance of Optimize should convert historical data to event data usable for event based processes. | -| engines.${engineAlias}.authentication.enabled | false | Toggles basic authentication on or off. When enabling basic authentication, please be aware that you also need to adjust the values of the user and password. | -| engines.${engineAlias}.authentication.user | | When basic authentication is enabled, this user is used to authenticate against the engine.

    Note: when enabled, it is required that the user has
    • `READ` & `READ_HISTORY` permission on the Process and Decision Definition resources
    • `READ` permission on _all_ ("\*") Authorization, Group, User, Tenant, Deployment & User Operation Log resources
    to enable users to log in and Optimize to import the engine data. | -| engines.${engineAlias}.authentication.password | | When basic authentication is enabled, this password is used to authenticate against the engine. | -| engines.${engineAlias}.webapps.endpoint | http://localhost:8080/camunda | Defines the endpoint where the Camunda webapps are found. This allows Optimize to directly link to the other Camunda Web Applications, e.g. to jump from Optimize directly to a dedicated process instance in Cockpit | -| engines.${engineAlias}.webapps.enabled | true | Enables/disables linking to other Camunda Web Applications | +| YAML path | Default value | Description | +| ----------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| engines.$\{engineAlias}.name | default | The process engine's name on the platform, this is the unique engine identifier on the platforms REST API. | +| engines.$\{engineAlias}.defaultTenant.id | null | A default tenantID to associate all imported data with if there is no tenant configured in the engine itself. This property is only relevant in the context of a `One Process Engine Per Tenant` tenancy. For details consult the Multi-Tenancy documentation. | +| engines.$\{engineAlias}.defaultTenant.name | null | The name used for this default tenant when displayed in the UI. | +| engines.$\{engineAlias}.excludeTenant | [ ] | Comma-separated list of tenant IDs to be excluded when importing data from the specified engine. When left empty, data from all tenants will be imported. Please note that the `defaultTenant` cannot be excluded (and therefore also not the entities with `null` as tenant) | +| engines.$\{engineAlias}.rest | http://localhost:8080/engine-rest | A base URL that will be used for connections to the Camunda Engine REST API. | +| engines.$\{engineAlias}.importEnabled | true | Determines whether this instance of Optimize should import definition & historical data from this engine. | +| engines.$\{engineAlias}.eventImportEnabled | false | Determines whether this instance of Optimize should convert historical data to event data usable for event based processes. | +| engines.$\{engineAlias}.authentication.enabled | false | Toggles basic authentication on or off. When enabling basic authentication, please be aware that you also need to adjust the values of the user and password. | +| engines.$\{engineAlias}.authentication.user | | When basic authentication is enabled, this user is used to authenticate against the engine.

    Note: when enabled, it is required that the user has
    • `READ` & `READ_HISTORY` permission on the Process and Decision Definition resources
    • `READ` permission on _all_ ("\*") Authorization, Group, User, Tenant, Deployment & User Operation Log resources
    to enable users to log in and Optimize to import the engine data. | +| engines.$\{engineAlias}.authentication.password | | When basic authentication is enabled, this password is used to authenticate against the engine. | +| engines.$\{engineAlias}.webapps.endpoint | http://localhost:8080/camunda | Defines the endpoint where the Camunda webapps are found. This allows Optimize to directly link to the other Camunda Web Applications, e.g. to jump from Optimize directly to a dedicated process instance in Cockpit | +| engines.$\{engineAlias}.webapps.enabled | true | Enables/disables linking to other Camunda Web Applications | ## Camunda 7 common import settings diff --git a/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/configuration/system-configuration.md b/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/configuration/system-configuration.md index 22b7c67c0e9..7868c25f1a7 100644 --- a/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/configuration/system-configuration.md +++ b/optimize_versioned_docs/version-3.14.0/self-managed/optimize-deployment/configuration/system-configuration.md @@ -270,16 +270,16 @@ Settings influencing the process digest feature. Settings for webhooks which can receive custom alert notifications. You can configure multiple webhooks which will be available to select from when creating or editing alerts. Each webhook configuration should have a unique human readable name which will appear in the Optimize UI. -| YAML path | Default value | Description | -| -------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| webhookAlerting.webhooks.${webhookName}.url | | The URL of the webhook. | -| webhookAlerting.webhooks.${webhookName}.headers | | A map of the headers of the request to be sent to the webhook. | -| webhookAlerting.webhooks.${webhookName}.httpMethod | | The HTTP Method of the request to be sent to the webhook. | -| webhookAlerting.webhooks.${webhookName}.defaultPayload | | The payload of the request to be sent to the webhook. This should include placeholder keys that allow you to define dynamic content. See [Alert Webhook Payload Placeholders](../webhooks#alert-webhook-payload-placeholders) for available values. | -| webhookAlerting.webhooks.${webhookName}.proxy.enabled | | Whether an HTTP proxy should be used for requests to the webhook URL. | -| webhookAlerting.webhooks.${webhookName}.proxy.host | | The proxy host to use, must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | -| webhookAlerting.webhooks.${webhookName}.proxy.port | | The proxy port to use, must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | -| webhookAlerting.webhooks.${webhookName}.proxy.sslEnabled | | Whether this proxy is using a secured connection (HTTPS). Must be set if webhookAlerting.webhooks.${webhookName}.proxy.enabled = true. | +| YAML path | Default value | Description | +| --------------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| webhookAlerting.webhooks.$\{webhookName}.url | | The URL of the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.headers | | A map of the headers of the request to be sent to the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.httpMethod | | The HTTP Method of the request to be sent to the webhook. | +| webhookAlerting.webhooks.$\{webhookName}.defaultPayload | | The payload of the request to be sent to the webhook. This should include placeholder keys that allow you to define dynamic content. See [Alert Webhook Payload Placeholders](../webhooks#alert-webhook-payload-placeholders) for available values. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.enabled | | Whether an HTTP proxy should be used for requests to the webhook URL. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.host | | The proxy host to use, must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.port | | The proxy port to use, must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | +| webhookAlerting.webhooks.$\{webhookName}.proxy.sslEnabled | | Whether this proxy is using a secured connection (HTTPS). Must be set if webhookAlerting.webhooks.$\{webhookName}.proxy.enabled = true. | ### History cleanup settings @@ -289,20 +289,20 @@ Settings for automatic cleanup of historic process/decision instances based on t Two types of history cleanup are available for Camunda 8 users at this time - process data cleanup and external variable cleanup. For more information, see [History cleanup](/optimize/self-managed/optimize-deployment/configuration/history-cleanup.md). ::: -| YAML path | Default value | Description | -| -------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| historyCleanup.cronTrigger | `'0 1 * * *'` | Cron expression to schedule when the cleanup should be executed, defaults to 01:00 A.M. As the cleanup can cause considerable load on the underlying database it is recommended to schedule it outside of office hours. You can either use the default Cron (5 fields) or the Spring Cron (6 fields) expression format here. | -| historyCleanup.ttl | 'P2Y' | Global time to live (ttl) period for process/decision/event data. The relevant property differs between entities. For process data, it's the `endTime` of the process instance. For decision data, it's the `evaluationTime` and for ingested events it's the `time` field. The format of the string is ISO_8601 duration. The default value is 2 years. For details on the notation refer to: [https://en.wikipedia.org/wiki/ISO_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) Note: The time component of the ISO_8601 duration is not supported. Only years (Y), months (M) and days (D) are. | -| historyCleanup.processDataCleanup.enabled | false | A switch to activate the history cleanup of process data. \[true/false\] | -| historyCleanup.processDataCleanup.cleanupMode | 'all' | Global type of the cleanup to perform for process instances, possible values: 'all' - delete everything related and including the process instance that passed the defined ttl 'variables' - only delete variables of a process instance Note: This doesn't affect the decision instance cleanup which always deletes the whole instance. | -| historyCleanup.processDataCleanup.batchSize | 10000 | Defines the batch size in which Camunda engine process instance data gets cleaned up. It may be reduced if requests fail due to request size constraints. In most cases, this should not be necessary and has only been experienced when connecting to an AWS Elasticsearch instance. | -| historyCleanup.processDataCleanup.perProcessDefinitionConfig | | A list of process definition specific configuration parameters that will overwrite the global cleanup settings for the specific process definition identified by its ${key}. | -| historyCleanup.processDataCleanup .perProcessDefinitionConfig.${key}.ttl | | Time to live to use for process instances of the process definition with the ${key}. | -| historyCleanup.processDataCleanup .perProcessDefinitionConfig.${key}.cleanupMode | | Cleanup mode to use for process instances of the process definition with the ${key}. | -| historyCleanup.decisionDataCleanup.enabled | false | A switch to activate the history cleanup of decision data. \[true/false\] | -| historyCleanup.decisionDataCleanup.perDecisionDefinitionConfig | | A list of decision definition specific configuration parameters that will overwrite the global cleanup settings for the specific decision definition identified by its ${key}. | -| historyCleanup.decisionDataCleanup .perDecisionDefinitionConfig.${key}.ttl | | Time to live to use for decision instances of the decision definition with the ${key}. | -| historyCleanup.ingestedEventCleanup.enabled | false | A switch to activate the history cleanup of ingested event data. \[true/false\] | +| YAML path | Default value | Description | +| --------------------------------------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| historyCleanup.cronTrigger | `'0 1 * * *'` | Cron expression to schedule when the cleanup should be executed, defaults to 01:00 A.M. As the cleanup can cause considerable load on the underlying database it is recommended to schedule it outside of office hours. You can either use the default Cron (5 fields) or the Spring Cron (6 fields) expression format here. | +| historyCleanup.ttl | 'P2Y' | Global time to live (ttl) period for process/decision/event data. The relevant property differs between entities. For process data, it's the `endTime` of the process instance. For decision data, it's the `evaluationTime` and for ingested events it's the `time` field. The format of the string is ISO_8601 duration. The default value is 2 years. For details on the notation refer to: [https://en.wikipedia.org/wiki/ISO_8601#Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) Note: The time component of the ISO_8601 duration is not supported. Only years (Y), months (M) and days (D) are. | +| historyCleanup.processDataCleanup.enabled | false | A switch to activate the history cleanup of process data. \[true/false\] | +| historyCleanup.processDataCleanup.cleanupMode | 'all' | Global type of the cleanup to perform for process instances, possible values: 'all' - delete everything related and including the process instance that passed the defined ttl 'variables' - only delete variables of a process instance Note: This doesn't affect the decision instance cleanup which always deletes the whole instance. | +| historyCleanup.processDataCleanup.batchSize | 10000 | Defines the batch size in which Camunda engine process instance data gets cleaned up. It may be reduced if requests fail due to request size constraints. In most cases, this should not be necessary and has only been experienced when connecting to an AWS Elasticsearch instance. | +| historyCleanup.processDataCleanup.perProcessDefinitionConfig | | A list of process definition specific configuration parameters that will overwrite the global cleanup settings for the specific process definition identified by its $\{key}. | +| historyCleanup.processDataCleanup .perProcessDefinitionConfig.$\{key}.ttl | | Time to live to use for process instances of the process definition with the $\{key}. | +| historyCleanup.processDataCleanup .perProcessDefinitionConfig.$\{key}.cleanupMode | | Cleanup mode to use for process instances of the process definition with the $\{key}. | +| historyCleanup.decisionDataCleanup.enabled | false | A switch to activate the history cleanup of decision data. \[true/false\] | +| historyCleanup.decisionDataCleanup.perDecisionDefinitionConfig | | A list of decision definition specific configuration parameters that will overwrite the global cleanup settings for the specific decision definition identified by its $\{key}. | +| historyCleanup.decisionDataCleanup .perDecisionDefinitionConfig.$\{key}.ttl | | Time to live to use for decision instances of the decision definition with the $\{key}. | +| historyCleanup.ingestedEventCleanup.enabled | false | A switch to activate the history cleanup of ingested event data. \[true/false\] | ### Localization diff --git a/versioned_docs/version-8.3/apis-tools/operate-api/overview.md b/versioned_docs/version-8.3/apis-tools/operate-api/overview.md index ec3c24e09d6..266e67ac3f2 100644 --- a/versioned_docs/version-8.3/apis-tools/operate-api/overview.md +++ b/versioned_docs/version-8.3/apis-tools/operate-api/overview.md @@ -117,8 +117,8 @@ curl -b cookie.txt -X POST 'http://localhost:8080/v1/process-definitions/search' | `GET /v1/process-instances/{key}/statistics` | Get flow node statistic by process instance key | New endpoint | | `GET /v1/process-instances/{key}/sequence-flows` | Get sequence flows of process instance by key | New endpoint | | **Incidents** | | | -| `POST /v1/incidents/search` | Search for incidents | New field added: `jobKey`

    **Warning**
    1. New fields could break deserialization, so ignore fields not used.

    **Warning**
    1. New fields could break deserialization, so ignore fields not used.

    **Warning**
    1. New fields could break deserialization, so ignore fields not used.
    | +| `GET /v1/incidents/{key}` | Get incident by key | New field added: `jobKey`

    **Warning**
    1. New fields could break deserialization, so ignore fields not used.
    | | **Flownode instances** | | | | `POST /v1/flownode-instances/search` | Search for flow node instances | New fields added:
    `flowNodeId`
    `flowNodeName`
    `processDefinitionKey`

    **Warning**
    1. New fields could break deserialization, so ignore fields not used.
    2. The `processDefinitionKey` field will only contain data from version 8.1.8 onward
    3. The field `flowNodeName` is only returned if set in the BPMN diagram, so no flowNodeName is returned for flow nodes that do not have it set in the diagram. | | `GET /v1/flownode-instances/{key}` | Get flow node instance by key | New fields added:
    `flowNodeId`
    `flowNodeName`
    `processDefinitionKey`

    **Warning**
    1. New fields could break deserialization, so ignore fields not used.
    2. The `processDefinitionKey` field will only contain data from version 8.1.8 onward
    3. The field `flowNodeName` is only returned if set in the BPMN diagram, so no flowNodeName is returned for flow nodes that do not have it set in the diagram. | diff --git a/versioned_docs/version-8.3/components/best-practices/development/invoking-services-from-the-process-c7.md b/versioned_docs/version-8.3/components/best-practices/development/invoking-services-from-the-process-c7.md index 4e05898330d..c01fa3eb17a 100644 --- a/versioned_docs/version-8.3/components/best-practices/development/invoking-services-from-the-process-c7.md +++ b/versioned_docs/version-8.3/components/best-practices/development/invoking-services-from-the-process-c7.md @@ -160,7 +160,8 @@ Only if the increased latency does not work for your use case, for example, beca -

    Call a named bean or java class implementing the +

    + Call a named bean or java class implementing the JavaDelegate interface.

    @@ -168,14 +169,17 @@ Only if the increased latency does not work for your use case, for example, beca

    Evaluate an expression using JUEL.

    -

    Use a configurable Connector +

    + Use a configurable Connector
    (REST or SOAP services provided out-of-the-box).

    -

    Pull a service task into an external worker thread and inform process engine of -completion.

    +

    + Pull a service task into an external worker thread and inform process engine of + completion. +

    Execute a script inside the engine.

    @@ -183,7 +187,8 @@ completion.

    -

    Use with +

    + Use with
    BPMN elements.

    @@ -252,7 +257,8 @@ completion.

    -

    Implement +

    + Implement
    via

    @@ -261,8 +267,10 @@ completion.

    Java (in same JVM)

    -

    Expression Language -(can reference Java code)

    +

    + Expression Language + (can reference Java code) +

    BPMN configuration

    @@ -377,9 +385,11 @@ completion.

    Configure via

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -390,9 +400,11 @@ completion.

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -401,9 +413,11 @@ completion.

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -412,9 +426,11 @@ completion.

    -

    BPMN Ext. Element+ +

    + BPMN Ext. Element+ - serviceTask + + serviceTask
    camunda:
    @@ -423,9 +439,11 @@ completion.

    -

    BPMN Attributes +

    + BPMN Attributes
    - serviceTask + + serviceTask
    camunda:
    @@ -438,13 +456,15 @@ completion.

    -

    BPMN Element +

    + BPMN Element
    script or
    BPMN Attribute
    - scriptTask + + scriptTask
    camunda:
    diff --git a/versioned_docs/version-8.3/components/concepts/process-instance-creation.md b/versioned_docs/version-8.3/components/concepts/process-instance-creation.md index ea1a7a6b3d7..fc315f7431f 100644 --- a/versioned_docs/version-8.3/components/concepts/process-instance-creation.md +++ b/versioned_docs/version-8.3/components/concepts/process-instance-creation.md @@ -26,9 +26,10 @@ This command creates a new process instance and immediately responds with the pr ![create-process](assets/create-process.png) -

    - Code example -

    Create a process instance: +

    + Code example +

    +Create a process instance: ``` zbctl create instance "order-process" @@ -38,16 +39,16 @@ Response: ``` { - "processKey": 2251799813685249, - "bpmnProcessId": "order-process", - "version": 1, - "processInstanceKey": 2251799813686019 + "processKey": 2251799813685249, + "bpmnProcessId": "order-process", + "version": 1, + "processInstanceKey": 2251799813686019 } ``` -

    -
    +

    +
    ### Create and await results @@ -67,7 +68,8 @@ When the client resends the command, it creates a new process instance.
    Code example -

    Create a process instance and await results: +

    +Create a process instance and await results: ``` zbctl create instance "order-process" --withResult --variables '{"orderId": "1234"}' @@ -123,7 +125,7 @@ Start instructions are supported for both `CreateProcessInstance` commands.

    Code example

    - Create a process instance starting before the 'ship_parcel' element: +Create a process instance starting before the 'ship_parcel' element: ```java client.newCreateInstanceCommand() diff --git a/versioned_docs/version-8.3/components/modeler/desktop-modeler/telemetry/telemetry.md b/versioned_docs/version-8.3/components/modeler/desktop-modeler/telemetry/telemetry.md index 36a5446325b..382a2e2f72d 100644 --- a/versioned_docs/version-8.3/components/modeler/desktop-modeler/telemetry/telemetry.md +++ b/versioned_docs/version-8.3/components/modeler/desktop-modeler/telemetry/telemetry.md @@ -54,8 +54,8 @@ These events include the following properties: - `diagramType`: BPMN, DMN, or Form - Engine profile: - - `executionPlatform`: - - `executionPlatformVersion`: + - `executionPlatform`: <target platform\> + - `executionPlatformVersion`: <target platform version\> ### Deployment and start instance events @@ -68,8 +68,8 @@ The `Deployment Event` and `Start Instance` have the following properties: - `diagramType`: BPMN, DMN, or Form - Engine profile: - - `executionPlatform`: - - `executionPlatformVersion`: + - `executionPlatform`: <target platform\> + - `executionPlatformVersion`: <target platform version\> In the event of an unsuccessful deployment, an `error` property will be present in the payload containing an error code. diff --git a/versioned_docs/version-8.3/reference/notices.md b/versioned_docs/version-8.3/reference/notices.md index 774ba628c4a..71fd93e0cfc 100644 --- a/versioned_docs/version-8.3/reference/notices.md +++ b/versioned_docs/version-8.3/reference/notices.md @@ -74,11 +74,11 @@ Tasklist The REST API functionality of Tasklist 8.2.0 and 8.2.1 allows unauthenticated access to the following methods/URLs: -- GET /v1/tasks/{taskId} +- GET /v1/tasks/\{taskId} - POST /v1/tasks/search -- POST /v1/tasks/{taskId}/variables/search -- POST /v1/forms/{formId} -- POST /v1/variables/{variableId} +- POST /v1/tasks/\{taskId}/variables/search +- POST /v1/forms/\{formId} +- POST /v1/variables/\{variableId} Find more information about the methods in our [Tasklist REST API documentation](/apis-tools/tasklist-api-rest/tasklist-api-rest-overview.md). diff --git a/versioned_docs/version-8.3/self-managed/zeebe-deployment/configuration/gateway.md b/versioned_docs/version-8.3/self-managed/zeebe-deployment/configuration/gateway.md index 9c2e6f2e223..ba7bbe1097d 100644 --- a/versioned_docs/version-8.3/self-managed/zeebe-deployment/configuration/gateway.md +++ b/versioned_docs/version-8.3/self-managed/zeebe-deployment/configuration/gateway.md @@ -302,7 +302,8 @@ Each interceptor should be configured with the values described below: className - Entry point of the interceptor, a class which must: + + Entry point of the interceptor, a class which must:

  • implement io.grpc.ServerInterceptor
  • have public visibility
  • have a public default constructor (i.e. no-arg constructor)
  • diff --git a/versioned_docs/version-8.4/components/best-practices/development/invoking-services-from-the-process-c7.md b/versioned_docs/version-8.4/components/best-practices/development/invoking-services-from-the-process-c7.md index 4e05898330d..6e93a22044d 100644 --- a/versioned_docs/version-8.4/components/best-practices/development/invoking-services-from-the-process-c7.md +++ b/versioned_docs/version-8.4/components/best-practices/development/invoking-services-from-the-process-c7.md @@ -160,7 +160,8 @@ Only if the increased latency does not work for your use case, for example, beca -

    Call a named bean or java class implementing the +

    + Call a named bean or java class implementing the JavaDelegate interface.

    @@ -168,14 +169,17 @@ Only if the increased latency does not work for your use case, for example, beca

    Evaluate an expression using JUEL.

    -

    Use a configurable Connector +

    + Use a configurable Connector
    (REST or SOAP services provided out-of-the-box).

    -

    Pull a service task into an external worker thread and inform process engine of -completion.

    +

    + Pull a service task into an external worker thread and inform process engine of + completion. +

    Execute a script inside the engine.

    @@ -183,7 +187,8 @@ completion.

    -

    Use with +

    + Use with
    BPMN elements.

    @@ -252,7 +257,8 @@ completion.

    -

    Implement +

    + Implement
    via

    @@ -261,8 +267,10 @@ completion.

    Java (in same JVM)

    -

    Expression Language -(can reference Java code)

    +

    + Expression Language + (can reference Java code) +

    BPMN configuration

    @@ -377,9 +385,11 @@ completion.

    Configure via

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -390,9 +400,11 @@ completion.

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -401,9 +413,11 @@ completion.

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -412,9 +426,10 @@ completion.

    -

    BPMN Ext. Element+ - - serviceTask +

    + BPMN Ext. Element+ + + serviceTask
    camunda:
    @@ -423,9 +438,11 @@ completion.

    -

    BPMN Attributes +

    + BPMN Attributes
    - serviceTask + + serviceTask
    camunda:
    @@ -438,13 +455,15 @@ completion.

    -

    BPMN Element +

    + BPMN Element
    script or
    BPMN Attribute
    - scriptTask + + scriptTask
    camunda:
    diff --git a/versioned_docs/version-8.4/components/concepts/process-instance-creation.md b/versioned_docs/version-8.4/components/concepts/process-instance-creation.md index 6a43c5143a0..b2bb0491f8e 100644 --- a/versioned_docs/version-8.4/components/concepts/process-instance-creation.md +++ b/versioned_docs/version-8.4/components/concepts/process-instance-creation.md @@ -26,9 +26,10 @@ This command creates a new process instance and immediately responds with the pr ![create-process](assets/create-process.png) -

    - Code example -

    Create a process instance: +

    + Code example +

    +Create a process instance: ``` zbctl create instance "order-process" @@ -38,16 +39,16 @@ Response: ``` { - "processKey": 2251799813685249, - "bpmnProcessId": "order-process", - "version": 1, - "processInstanceKey": 2251799813686019 + "processKey": 2251799813685249, + "bpmnProcessId": "order-process", + "version": 1, + "processInstanceKey": 2251799813686019 } ``` -

    -
    +

    +
    ### Create and await results @@ -67,7 +68,8 @@ When the client resends the command, it creates a new process instance.
    Code example -

    Create a process instance and await results: +

    +Create a process instance and await results: ``` zbctl create instance "order-process" --withResult --variables '{"orderId": "1234"}' @@ -123,7 +125,7 @@ Start instructions are supported for both `CreateProcessInstance` commands.

    Code example

    - Create a process instance starting before the 'ship_parcel' element: +Create a process instance starting before the 'ship_parcel' element: ```java client.newCreateInstanceCommand() diff --git a/versioned_docs/version-8.4/components/modeler/desktop-modeler/telemetry/telemetry.md b/versioned_docs/version-8.4/components/modeler/desktop-modeler/telemetry/telemetry.md index 8db915f21f0..33fe66c6901 100644 --- a/versioned_docs/version-8.4/components/modeler/desktop-modeler/telemetry/telemetry.md +++ b/versioned_docs/version-8.4/components/modeler/desktop-modeler/telemetry/telemetry.md @@ -54,8 +54,8 @@ These events include the following properties: - `diagramType`: BPMN, DMN, or Form - Engine profile: - - `executionPlatform`: - - `executionPlatformVersion`: + - `executionPlatform`: <target platform\> + - `executionPlatformVersion`: <target platform version\> In the case of a form, the payload also includes the `formFieldTypes`: @@ -78,8 +78,8 @@ The `Deployment Event` and `Start Instance` have the following properties: - `diagramType`: BPMN, DMN, or Form - Engine profile: - - `executionPlatform`: - - `executionPlatformVersion`: + - `executionPlatform`: <target platform\> + - `executionPlatformVersion`: <target platform version\> In the event of an unsuccessful deployment, an `error` property will be present in the payload containing an error code. diff --git a/versioned_docs/version-8.4/reference/notices.md b/versioned_docs/version-8.4/reference/notices.md index 260b49531b3..495e6468732 100644 --- a/versioned_docs/version-8.4/reference/notices.md +++ b/versioned_docs/version-8.4/reference/notices.md @@ -74,11 +74,11 @@ Tasklist The REST API functionality of Tasklist 8.2.0 and 8.2.1 allows unauthenticated access to the following methods/URLs: -- GET /v1/tasks/{taskId} +- GET /v1/tasks/\{taskId} - POST /v1/tasks/search -- POST /v1/tasks/{taskId}/variables/search -- POST /v1/forms/{formId} -- POST /v1/variables/{variableId} +- POST /v1/tasks/\{taskId}/variables/search +- POST /v1/forms/\{formId} +- POST /v1/variables/\{variableId} Find more information about the methods in our [Tasklist REST API documentation](/apis-tools/tasklist-api-rest/tasklist-api-rest-overview.md). diff --git a/versioned_docs/version-8.4/self-managed/zeebe-deployment/configuration/gateway.md b/versioned_docs/version-8.4/self-managed/zeebe-deployment/configuration/gateway.md index ea2abc369bf..2f861de6932 100644 --- a/versioned_docs/version-8.4/self-managed/zeebe-deployment/configuration/gateway.md +++ b/versioned_docs/version-8.4/self-managed/zeebe-deployment/configuration/gateway.md @@ -307,7 +307,8 @@ Each interceptor should be configured with the values described below: className - Entry point of the interceptor, a class which must: + + Entry point of the interceptor, a class which must:

  • implement io.grpc.ServerInterceptor
  • have public visibility
  • have a public default constructor (i.e. no-arg constructor)
  • diff --git a/versioned_docs/version-8.5/components/best-practices/development/invoking-services-from-the-process-c7.md b/versioned_docs/version-8.5/components/best-practices/development/invoking-services-from-the-process-c7.md index d46abdcd87d..c99604bbc20 100644 --- a/versioned_docs/version-8.5/components/best-practices/development/invoking-services-from-the-process-c7.md +++ b/versioned_docs/version-8.5/components/best-practices/development/invoking-services-from-the-process-c7.md @@ -160,7 +160,8 @@ Only if the increased latency does not work for your use case, for example, beca -

    Call a named bean or java class implementing the +

    + Call a named bean or java class implementing the JavaDelegate interface.

    @@ -168,14 +169,17 @@ Only if the increased latency does not work for your use case, for example, beca

    Evaluate an expression using JUEL.

    -

    Use a configurable Connector +

    + Use a configurable Connector
    (REST or SOAP services provided out-of-the-box).

    -

    Pull a service task into an external worker thread and inform process engine of -completion.

    +

    + Pull a service task into an external worker thread and inform process engine of +completion. +

    Execute a script inside the engine.

    @@ -183,7 +187,8 @@ completion.

    -

    Use with +

    + Use with
    BPMN elements.

    @@ -252,7 +257,8 @@ completion.

    -

    Implement +

    + Implement
    via

    @@ -261,8 +267,10 @@ completion.

    Java (in same JVM)

    -

    Expression Language -(can reference Java code)

    +

    + Expression Language + (can reference Java code) +

    BPMN configuration

    @@ -377,9 +385,11 @@ completion.

    Configure via

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -390,9 +400,11 @@ completion.

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -401,9 +413,11 @@ completion.

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -412,9 +426,10 @@ completion.

    -

    BPMN Ext. Element+ - - serviceTask +

    + BPMN Ext. Element+ + + serviceTask
    camunda:
    @@ -423,9 +438,11 @@ completion.

    -

    BPMN Attributes +

    + BPMN Attributes
    - serviceTask + + serviceTask
    camunda:
    @@ -438,13 +455,15 @@ completion.

    -

    BPMN Element +

    + BPMN Element
    script or
    BPMN Attribute
    - scriptTask + + scriptTask
    camunda:
    diff --git a/versioned_docs/version-8.5/components/concepts/process-instance-creation.md b/versioned_docs/version-8.5/components/concepts/process-instance-creation.md index 6a43c5143a0..b2bb0491f8e 100644 --- a/versioned_docs/version-8.5/components/concepts/process-instance-creation.md +++ b/versioned_docs/version-8.5/components/concepts/process-instance-creation.md @@ -26,9 +26,10 @@ This command creates a new process instance and immediately responds with the pr ![create-process](assets/create-process.png) -

    - Code example -

    Create a process instance: +

    + Code example +

    +Create a process instance: ``` zbctl create instance "order-process" @@ -38,16 +39,16 @@ Response: ``` { - "processKey": 2251799813685249, - "bpmnProcessId": "order-process", - "version": 1, - "processInstanceKey": 2251799813686019 + "processKey": 2251799813685249, + "bpmnProcessId": "order-process", + "version": 1, + "processInstanceKey": 2251799813686019 } ``` -

    -
    +

    +
    ### Create and await results @@ -67,7 +68,8 @@ When the client resends the command, it creates a new process instance.
    Code example -

    Create a process instance and await results: +

    +Create a process instance and await results: ``` zbctl create instance "order-process" --withResult --variables '{"orderId": "1234"}' @@ -123,7 +125,7 @@ Start instructions are supported for both `CreateProcessInstance` commands.

    Code example

    - Create a process instance starting before the 'ship_parcel' element: +Create a process instance starting before the 'ship_parcel' element: ```java client.newCreateInstanceCommand() diff --git a/versioned_docs/version-8.5/components/modeler/desktop-modeler/telemetry/telemetry.md b/versioned_docs/version-8.5/components/modeler/desktop-modeler/telemetry/telemetry.md index 8db915f21f0..33fe66c6901 100644 --- a/versioned_docs/version-8.5/components/modeler/desktop-modeler/telemetry/telemetry.md +++ b/versioned_docs/version-8.5/components/modeler/desktop-modeler/telemetry/telemetry.md @@ -54,8 +54,8 @@ These events include the following properties: - `diagramType`: BPMN, DMN, or Form - Engine profile: - - `executionPlatform`: - - `executionPlatformVersion`: + - `executionPlatform`: <target platform\> + - `executionPlatformVersion`: <target platform version\> In the case of a form, the payload also includes the `formFieldTypes`: @@ -78,8 +78,8 @@ The `Deployment Event` and `Start Instance` have the following properties: - `diagramType`: BPMN, DMN, or Form - Engine profile: - - `executionPlatform`: - - `executionPlatformVersion`: + - `executionPlatform`: <target platform\> + - `executionPlatformVersion`: <target platform version\> In the event of an unsuccessful deployment, an `error` property will be present in the payload containing an error code. diff --git a/versioned_docs/version-8.5/reference/notices.md b/versioned_docs/version-8.5/reference/notices.md index 73345041658..60b0a1322ba 100644 --- a/versioned_docs/version-8.5/reference/notices.md +++ b/versioned_docs/version-8.5/reference/notices.md @@ -74,11 +74,11 @@ Tasklist The REST API functionality of Tasklist 8.2.0 and 8.2.1 allows unauthenticated access to the following methods/URLs: -- GET /v1/tasks/{taskId} +- GET /v1/tasks/\{taskId} - POST /v1/tasks/search -- POST /v1/tasks/{taskId}/variables/search -- POST /v1/forms/{formId} -- POST /v1/variables/{variableId} +- POST /v1/tasks/\{taskId}/variables/search +- POST /v1/forms/\{formId} +- POST /v1/variables/\{variableId} Find more information about the methods in our [Tasklist REST API documentation](/apis-tools/tasklist-api-rest/tasklist-api-rest-overview.md). diff --git a/versioned_docs/version-8.5/self-managed/operational-guides/update-guide/840-to-850.md b/versioned_docs/version-8.5/self-managed/operational-guides/update-guide/840-to-850.md index b94830b187a..0a36d850327 100644 --- a/versioned_docs/version-8.5/self-managed/operational-guides/update-guide/840-to-850.md +++ b/versioned_docs/version-8.5/self-managed/operational-guides/update-guide/840-to-850.md @@ -31,11 +31,11 @@ Note that there is **no** actual corruption or data loss, however. The broker health check routes have moved, and the old routes are now deprecated. Specifically, the following routes will return [a status code of 301](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301) and redirect you. See the table below about the new mappings: -| Old route | **New route** | -| --------------------------------------- | ------------------------------------------------------------- | -| http://{zeebe-broker-host}:9600/health | **http://{zeebe-broker-host}:9600/actuator/health/status** | -| http://{zeebe-broker-host}:9600/ready | **http://{zeebe-broker-host}:9600/actuator/health/readiness** | -| http://{zeebe-broker-host}:9600/startup | **http://{zeebe-broker-host}:9600/actuator/health/startup** | +| Old route | **New route** | +| ---------------------------------------- | -------------------------------------------------------------- | +| http://\{zeebe-broker-host}:9600/health | **http://\{zeebe-broker-host}:9600/actuator/health/status** | +| http://\{zeebe-broker-host}:9600/ready | **http://\{zeebe-broker-host}:9600/actuator/health/readiness** | +| http://\{zeebe-broker-host}:9600/startup | **http://\{zeebe-broker-host}:9600/actuator/health/startup** | Please migrate to the new routes in your deployments. **If you're using the official Helm charts, then you don't have to do anything here.** diff --git a/versioned_docs/version-8.5/self-managed/zeebe-deployment/configuration/gateway.md b/versioned_docs/version-8.5/self-managed/zeebe-deployment/configuration/gateway.md index c50909f60b6..b04075cba48 100644 --- a/versioned_docs/version-8.5/self-managed/zeebe-deployment/configuration/gateway.md +++ b/versioned_docs/version-8.5/self-managed/zeebe-deployment/configuration/gateway.md @@ -384,7 +384,8 @@ Each interceptor should be configured with the values described below: className - Entry point of the interceptor, a class which must: + + Entry point of the interceptor, a class which must:

  • implement io.grpc.ServerInterceptor
  • have public visibility
  • have a public default constructor (i.e. no-arg constructor)
  • diff --git a/versioned_docs/version-8.6/components/best-practices/development/invoking-services-from-the-process-c7.md b/versioned_docs/version-8.6/components/best-practices/development/invoking-services-from-the-process-c7.md index 4e05898330d..a50480fda57 100644 --- a/versioned_docs/version-8.6/components/best-practices/development/invoking-services-from-the-process-c7.md +++ b/versioned_docs/version-8.6/components/best-practices/development/invoking-services-from-the-process-c7.md @@ -160,7 +160,8 @@ Only if the increased latency does not work for your use case, for example, beca -

    Call a named bean or java class implementing the +

    + Call a named bean or java class implementing the JavaDelegate interface.

    @@ -168,14 +169,17 @@ Only if the increased latency does not work for your use case, for example, beca

    Evaluate an expression using JUEL.

    -

    Use a configurable Connector +

    + Use a configurable Connector
    (REST or SOAP services provided out-of-the-box).

    -

    Pull a service task into an external worker thread and inform process engine of -completion.

    +

    + Pull a service task into an external worker thread and inform process engine of + completion. +

    Execute a script inside the engine.

    @@ -183,7 +187,8 @@ completion.

    -

    Use with +

    + Use with
    BPMN elements.

    @@ -252,7 +257,8 @@ completion.

    -

    Implement +

    + Implement
    via

    @@ -261,8 +267,10 @@ completion.

    Java (in same JVM)

    -

    Expression Language -(can reference Java code)

    +

    + Expression Language +(can reference Java code) +

    BPMN configuration

    @@ -377,9 +385,11 @@ completion.

    Configure via

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -390,9 +400,11 @@ completion.

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -401,9 +413,11 @@ completion.

    -

    BPMN Attribute +

    + BPMN Attribute
    - serviceTask + + serviceTask
    camunda:
    @@ -412,9 +426,10 @@ completion.

    -

    BPMN Ext. Element+ - - serviceTask +

    + BPMN Ext. Element+ + + serviceTask
    camunda:
    @@ -423,9 +438,11 @@ completion.

    -

    BPMN Attributes +

    + BPMN Attributes
    - serviceTask + + serviceTask
    camunda:
    @@ -438,13 +455,15 @@ completion.

    -

    BPMN Element +

    + BPMN Element
    script or
    BPMN Attribute
    - scriptTask + + scriptTask
    camunda:
    diff --git a/versioned_docs/version-8.6/components/best-practices/modeling/choosing-the-resource-binding-type.md b/versioned_docs/version-8.6/components/best-practices/modeling/choosing-the-resource-binding-type.md index f263474207a..f34b1de93cd 100644 --- a/versioned_docs/version-8.6/components/best-practices/modeling/choosing-the-resource-binding-type.md +++ b/versioned_docs/version-8.6/components/best-practices/modeling/choosing-the-resource-binding-type.md @@ -56,7 +56,8 @@ Camunda 8 supports the following binding types:

  • This option ensures predictable behavior by tying the two versions together, and allows you to deploy future versions of the target resource without disrupting ongoing process instances.

  • It is ideal for self-contained projects without external or shared dependencies.

  • -

    To use the deployment binding option, create and deploy a process application in Web Modeler, +

    + To use the deployment binding option, create and deploy a process application in Web Modeler, or deploy multiple resources together via the Zeebe API.

  • diff --git a/versioned_docs/version-8.6/components/concepts/process-instance-creation.md b/versioned_docs/version-8.6/components/concepts/process-instance-creation.md index 26e1b4ad3b7..04f1d5369c8 100644 --- a/versioned_docs/version-8.6/components/concepts/process-instance-creation.md +++ b/versioned_docs/version-8.6/components/concepts/process-instance-creation.md @@ -26,9 +26,10 @@ This command creates a new process instance and immediately responds with the pr ![create-process](assets/create-process.png) -
    - Code example -

    Create a process instance: +

    + Code example +

    +Create a process instance: ``` zbctl create instance "order-process" @@ -38,16 +39,16 @@ Response: ``` { - "processKey": 2251799813685249, - "bpmnProcessId": "order-process", - "version": 1, - "processInstanceKey": 2251799813686019 + "processKey": 2251799813685249, + "bpmnProcessId": "order-process", + "version": 1, + "processInstanceKey": 2251799813686019 } ``` -

    -
    +

    +
    ### Create and await results @@ -67,7 +68,8 @@ When the client resends the command, it creates a new process instance.
    Code example -

    Create a process instance and await results: +

    +Create a process instance and await results: ``` zbctl create instance "order-process" --withResult --variables '{"orderId": "1234"}' @@ -123,7 +125,7 @@ Start instructions are supported for both `CreateProcessInstance` commands.

    Code example

    - Create a process instance starting before the 'ship_parcel' element: +Create a process instance starting before the 'ship_parcel' element: ```java client.newCreateInstanceCommand() diff --git a/versioned_docs/version-8.6/components/connectors/out-of-the-box-connectors/email.md b/versioned_docs/version-8.6/components/connectors/out-of-the-box-connectors/email.md index 7a0abc401b2..e4815f21287 100644 --- a/versioned_docs/version-8.6/components/connectors/out-of-the-box-connectors/email.md +++ b/versioned_docs/version-8.6/components/connectors/out-of-the-box-connectors/email.md @@ -246,7 +246,7 @@ object with a field and a value. - If an operator is set, the criteria array must also be defined. - Each criterion within the criteria array is applied to the specified field based on the value associated with it. -:::note +::: #### Example Response @@ -529,7 +529,7 @@ object with a field and a value. - If an operator is set, the criteria array must also be defined. - Each criterion within the criteria array is applied to the specified field based on the value associated with it. -:::note +::: #### Example Response diff --git a/versioned_docs/version-8.6/components/modeler/desktop-modeler/telemetry/telemetry.md b/versioned_docs/version-8.6/components/modeler/desktop-modeler/telemetry/telemetry.md index 8db915f21f0..33fe66c6901 100644 --- a/versioned_docs/version-8.6/components/modeler/desktop-modeler/telemetry/telemetry.md +++ b/versioned_docs/version-8.6/components/modeler/desktop-modeler/telemetry/telemetry.md @@ -54,8 +54,8 @@ These events include the following properties: - `diagramType`: BPMN, DMN, or Form - Engine profile: - - `executionPlatform`: - - `executionPlatformVersion`: + - `executionPlatform`: <target platform\> + - `executionPlatformVersion`: <target platform version\> In the case of a form, the payload also includes the `formFieldTypes`: @@ -78,8 +78,8 @@ The `Deployment Event` and `Start Instance` have the following properties: - `diagramType`: BPMN, DMN, or Form - Engine profile: - - `executionPlatform`: - - `executionPlatformVersion`: + - `executionPlatform`: <target platform\> + - `executionPlatformVersion`: <target platform version\> In the event of an unsuccessful deployment, an `error` property will be present in the payload containing an error code. diff --git a/versioned_docs/version-8.6/reference/notices.md b/versioned_docs/version-8.6/reference/notices.md index 73345041658..60b0a1322ba 100644 --- a/versioned_docs/version-8.6/reference/notices.md +++ b/versioned_docs/version-8.6/reference/notices.md @@ -74,11 +74,11 @@ Tasklist The REST API functionality of Tasklist 8.2.0 and 8.2.1 allows unauthenticated access to the following methods/URLs: -- GET /v1/tasks/{taskId} +- GET /v1/tasks/\{taskId} - POST /v1/tasks/search -- POST /v1/tasks/{taskId}/variables/search -- POST /v1/forms/{formId} -- POST /v1/variables/{variableId} +- POST /v1/tasks/\{taskId}/variables/search +- POST /v1/forms/\{formId} +- POST /v1/variables/\{variableId} Find more information about the methods in our [Tasklist REST API documentation](/apis-tools/tasklist-api-rest/tasklist-api-rest-overview.md). diff --git a/versioned_docs/version-8.6/self-managed/operational-guides/update-guide/840-to-850.md b/versioned_docs/version-8.6/self-managed/operational-guides/update-guide/840-to-850.md index b94830b187a..0a36d850327 100644 --- a/versioned_docs/version-8.6/self-managed/operational-guides/update-guide/840-to-850.md +++ b/versioned_docs/version-8.6/self-managed/operational-guides/update-guide/840-to-850.md @@ -31,11 +31,11 @@ Note that there is **no** actual corruption or data loss, however. The broker health check routes have moved, and the old routes are now deprecated. Specifically, the following routes will return [a status code of 301](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301) and redirect you. See the table below about the new mappings: -| Old route | **New route** | -| --------------------------------------- | ------------------------------------------------------------- | -| http://{zeebe-broker-host}:9600/health | **http://{zeebe-broker-host}:9600/actuator/health/status** | -| http://{zeebe-broker-host}:9600/ready | **http://{zeebe-broker-host}:9600/actuator/health/readiness** | -| http://{zeebe-broker-host}:9600/startup | **http://{zeebe-broker-host}:9600/actuator/health/startup** | +| Old route | **New route** | +| ---------------------------------------- | -------------------------------------------------------------- | +| http://\{zeebe-broker-host}:9600/health | **http://\{zeebe-broker-host}:9600/actuator/health/status** | +| http://\{zeebe-broker-host}:9600/ready | **http://\{zeebe-broker-host}:9600/actuator/health/readiness** | +| http://\{zeebe-broker-host}:9600/startup | **http://\{zeebe-broker-host}:9600/actuator/health/startup** | Please migrate to the new routes in your deployments. **If you're using the official Helm charts, then you don't have to do anything here.** diff --git a/versioned_docs/version-8.6/self-managed/zeebe-deployment/configuration/gateway.md b/versioned_docs/version-8.6/self-managed/zeebe-deployment/configuration/gateway.md index 6f6dcfbf9fc..b9b07fa78bc 100644 --- a/versioned_docs/version-8.6/self-managed/zeebe-deployment/configuration/gateway.md +++ b/versioned_docs/version-8.6/self-managed/zeebe-deployment/configuration/gateway.md @@ -390,7 +390,8 @@ Each interceptor should be configured with the values described below: className - Entry point of the interceptor, a class which must: + + Entry point of the interceptor, a class which must:

  • implement io.grpc.ServerInterceptor
  • have public visibility
  • have a public default constructor (i.e. no-arg constructor)
  • @@ -437,7 +438,8 @@ Each filter should be configured with the values described below: className - Entry point of the filter, a class which must: + + Entry point of the filter, a class which must:
  • implement jakarta.servlet.Filter
  • have public visibility
  • have a public default constructor (i.e. no-arg constructor)
  • diff --git a/versioned_sidebars/version-8.4-sidebars.json b/versioned_sidebars/version-8.4-sidebars.json index 777319f96e9..e2fefe6dc0d 100644 --- a/versioned_sidebars/version-8.4-sidebars.json +++ b/versioned_sidebars/version-8.4-sidebars.json @@ -786,7 +786,7 @@ "Specifications": [ { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/operate-public-api" + "id": "apis-tools/operate-api/specifications/operate-public-api" }, { "type": "category", @@ -794,19 +794,19 @@ "items": [ { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/search-2", + "id": "apis-tools/operate-api/specifications/search-2", "label": "Search process definitions", "className": "api-method post" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/by-key-2", + "id": "apis-tools/operate-api/specifications/by-key-2", "label": "Get process definition by key", "className": "api-method get" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/xml-by-key", + "id": "apis-tools/operate-api/specifications/xml-by-key", "label": "Get process definition as XML by key", "className": "api-method get" } @@ -818,13 +818,13 @@ "items": [ { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/search-7", + "id": "apis-tools/operate-api/specifications/search-7", "label": "Search decision definitions", "className": "api-method post" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/by-key-6", + "id": "apis-tools/operate-api/specifications/by-key-6", "label": "Get decision definition by key", "className": "api-method get" } @@ -836,13 +836,13 @@ "items": [ { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/search-6", + "id": "apis-tools/operate-api/specifications/search-6", "label": "Search decision instances", "className": "api-method post" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/by-id", + "id": "apis-tools/operate-api/specifications/by-id", "label": "Get decision instance by id", "className": "api-method get" } @@ -854,13 +854,13 @@ "items": [ { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/search-4", + "id": "apis-tools/operate-api/specifications/search-4", "label": "Search flownode-instances", "className": "api-method post" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/by-key-4", + "id": "apis-tools/operate-api/specifications/by-key-4", "label": "Get flow node instance by key", "className": "api-method get" } @@ -872,13 +872,13 @@ "items": [ { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/search", + "id": "apis-tools/operate-api/specifications/search", "label": "Search variables for process instances", "className": "api-method post" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/by-key", + "id": "apis-tools/operate-api/specifications/by-key", "label": "Get variable by key", "className": "api-method get" } @@ -890,31 +890,31 @@ "items": [ { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/search-1", + "id": "apis-tools/operate-api/specifications/search-1", "label": "Search process instances", "className": "api-method post" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/by-key-1", + "id": "apis-tools/operate-api/specifications/by-key-1", "label": "Get process instance by key", "className": "api-method get" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/delete", + "id": "apis-tools/operate-api/specifications/delete", "label": "Delete process instance and all dependant data by key", "className": "api-method delete" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/get-statistics", + "id": "apis-tools/operate-api/specifications/get-statistics", "label": "Get flow node statistic by process instance id", "className": "api-method get" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/sequence-flows-by-key", + "id": "apis-tools/operate-api/specifications/sequence-flows-by-key", "label": "Get sequence flows of process instance by key", "className": "api-method get" } @@ -926,19 +926,19 @@ "items": [ { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/search-5", + "id": "apis-tools/operate-api/specifications/search-5", "label": "Search decision requirements", "className": "api-method post" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/by-key-5", + "id": "apis-tools/operate-api/specifications/by-key-5", "label": "Get decision requirements by key", "className": "api-method get" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/xml-by-key-1", + "id": "apis-tools/operate-api/specifications/xml-by-key-1", "label": "Get decision requirements as XML by key", "className": "api-method get" } @@ -950,13 +950,13 @@ "items": [ { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/search-3", + "id": "apis-tools/operate-api/specifications/search-3", "label": "Search incidents", "className": "api-method post" }, { "type": "doc", - "id": "version-8.4/apis-tools/operate-api/specifications/by-key-3", + "id": "apis-tools/operate-api/specifications/by-key-3", "label": "Get incident by key", "className": "api-method get" } @@ -1082,7 +1082,7 @@ "Specifications": [ { "type": "doc", - "id": "version-8.4/apis-tools/tasklist-api-rest/specifications/tasklist-rest-api" + "id": "apis-tools/tasklist-api-rest/specifications/tasklist-rest-api" }, { "type": "category", @@ -1090,7 +1090,7 @@ "items": [ { "type": "doc", - "id": "version-8.4/apis-tools/tasklist-api-rest/specifications/get-form", + "id": "apis-tools/tasklist-api-rest/specifications/get-form", "label": "Get a form", "className": "api-method get" } @@ -1102,7 +1102,7 @@ "items": [ { "type": "doc", - "id": "version-8.4/apis-tools/tasklist-api-rest/specifications/get-variable-by-id", + "id": "apis-tools/tasklist-api-rest/specifications/get-variable-by-id", "label": "Get a variable", "className": "api-method get" } @@ -1114,43 +1114,43 @@ "items": [ { "type": "doc", - "id": "version-8.4/apis-tools/tasklist-api-rest/specifications/save-draft-task-variables", + "id": "apis-tools/tasklist-api-rest/specifications/save-draft-task-variables", "label": "Save draft variables", "className": "api-method post" }, { "type": "doc", - "id": "version-8.4/apis-tools/tasklist-api-rest/specifications/search-task-variables", + "id": "apis-tools/tasklist-api-rest/specifications/search-task-variables", "label": "Search task variables", "className": "api-method post" }, { "type": "doc", - "id": "version-8.4/apis-tools/tasklist-api-rest/specifications/search-tasks", + "id": "apis-tools/tasklist-api-rest/specifications/search-tasks", "label": "Search tasks", "className": "api-method post" }, { "type": "doc", - "id": "version-8.4/apis-tools/tasklist-api-rest/specifications/unassign-task", + "id": "apis-tools/tasklist-api-rest/specifications/unassign-task", "label": "Unassign a task", "className": "api-method patch" }, { "type": "doc", - "id": "version-8.4/apis-tools/tasklist-api-rest/specifications/complete-task", + "id": "apis-tools/tasklist-api-rest/specifications/complete-task", "label": "Complete a task", "className": "api-method patch" }, { "type": "doc", - "id": "version-8.4/apis-tools/tasklist-api-rest/specifications/assign-task", + "id": "apis-tools/tasklist-api-rest/specifications/assign-task", "label": "Assign a task", "className": "api-method patch" }, { "type": "doc", - "id": "version-8.4/apis-tools/tasklist-api-rest/specifications/get-task-by-id", + "id": "apis-tools/tasklist-api-rest/specifications/get-task-by-id", "label": "Get a task", "className": "api-method get" } From 74fa8efee402b21bb193e8fc5f07ebf16f77ee92 Mon Sep 17 00:00:00 2001 From: Amara Graham Date: Tue, 17 Dec 2024 12:42:39 -0600 Subject: [PATCH 3/5] Remove Zeebe REST API (#4650) * remove zeebe rest api + announce * remove from sidebars * Update announcements.md * remove zeebe rest references from next * remove /docs * remove zeebe card * add redirects * fix extra parenthese * remove zeebe rest api tutorial * revert 8.5 change * remove comma * fix link --------- Co-authored-by: christinaausley <84338309+christinaausley@users.noreply.github.com> Co-authored-by: Christina Ausley --- api/generate-api-docs.js | 2 - api/zeebe/generation-strategy.js | 49 -- api/zeebe/zeebe-openapi.yaml | 428 ------------------ .../02-user-task-lifecycle.md | 12 +- .../spring-zeebe-sdk/getting-started.md | 2 +- .../zeebe-api-rest/sidebar-schema.js | 12 - .../specifications/assign-a-user-task.api.mdx | 55 --- .../complete-a-user-task.api.mdx | 59 --- .../get-cluster-topology.api.mdx | 48 -- .../zeebe-api-rest/specifications/sidebar.js | 48 -- .../unassign-a-user-task.api.mdx | 55 --- .../specifications/update-a-user-task.api.mdx | 73 --- .../specifications/zeebe-rest-api.info.mdx | 56 --- docs/apis-tools/zeebe-api-rest/tutorial.md | 182 -------- .../zeebe-api-rest-authentication.md | 139 ------ .../zeebe-api-rest/zeebe-api-rest-overview.md | 29 -- .../manage-clusters/manage-api-clients.md | 2 +- .../zeebe/technical-concepts/architecture.md | 2 +- .../setup-client-connection-credentials.md | 2 +- .../operations/management-api.md | 2 +- docusaurus.config.js | 18 - optimize_sidebars.js | 56 --- sidebars.js | 1 - static/.htaccess | 6 + .../apis-tools/community-clients/spring.md | 2 +- .../migrate-to-zeebe-user-tasks.md | 2 +- 26 files changed, 19 insertions(+), 1323 deletions(-) delete mode 100644 api/zeebe/generation-strategy.js delete mode 100644 api/zeebe/zeebe-openapi.yaml delete mode 100644 docs/apis-tools/zeebe-api-rest/sidebar-schema.js delete mode 100644 docs/apis-tools/zeebe-api-rest/specifications/assign-a-user-task.api.mdx delete mode 100644 docs/apis-tools/zeebe-api-rest/specifications/complete-a-user-task.api.mdx delete mode 100644 docs/apis-tools/zeebe-api-rest/specifications/get-cluster-topology.api.mdx delete mode 100644 docs/apis-tools/zeebe-api-rest/specifications/sidebar.js delete mode 100644 docs/apis-tools/zeebe-api-rest/specifications/unassign-a-user-task.api.mdx delete mode 100644 docs/apis-tools/zeebe-api-rest/specifications/update-a-user-task.api.mdx delete mode 100644 docs/apis-tools/zeebe-api-rest/specifications/zeebe-rest-api.info.mdx delete mode 100644 docs/apis-tools/zeebe-api-rest/tutorial.md delete mode 100644 docs/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md delete mode 100644 docs/apis-tools/zeebe-api-rest/zeebe-api-rest-overview.md diff --git a/api/generate-api-docs.js b/api/generate-api-docs.js index 2a346ac99dd..6c6f2de56a4 100644 --- a/api/generate-api-docs.js +++ b/api/generate-api-docs.js @@ -2,13 +2,11 @@ const { execSync } = require("child_process"); // More strategies to come, for other APIs. const operate = require("./operate/generation-strategy"); -const zeebe = require("./zeebe/generation-strategy"); const tasklist = require("./tasklist/generation-strategy"); const consolesm = require("./console-sm/generation-strategy"); const camunda = require("./camunda/generation-strategy"); const apiStrategies = { operate, - zeebe, tasklist, consolesm, camunda, diff --git a/api/zeebe/generation-strategy.js b/api/zeebe/generation-strategy.js deleted file mode 100644 index 06ebef03f02..00000000000 --- a/api/zeebe/generation-strategy.js +++ /dev/null @@ -1,49 +0,0 @@ -const replace = require("replace-in-file"); -const removeDuplicateVersionBadge = require("../remove-duplicate-version-badge"); - -const outputDir = "docs/apis-tools/zeebe-api-rest/specifications"; -const specFile = "api/zeebe/zeebe-openapi.yaml"; - -function preGenerateDocs() { - hackChangesetDescription(); -} - -function postGenerateDocs() { - removeDuplicateVersionBadge(`${outputDir}/zeebe-rest-api.info.mdx`); -} - -module.exports = { - outputDir, - preGenerateDocs, - postGenerateDocs, -}; - -function hackChangesetDescription() { - // This is a temporary hack, until https://github.com/camunda/camunda-docs/issues/3568 is resolved. - // The OpenAPI generator plugin we're using does not use the correct `description` property - // for the `UserTaskUpdateRequest` object. Instead of picking up the actual property description, - // it picks up the description of the first merged schema in the `allOf` property (i.e. from the `Changeset` schema). - // This adjustment replaces the description of the `Changeset` schema with the current description of - // the `UserTaskUpdateRequest.changeset` property. - console.log("hacking changeset description..."); - replace.sync({ - files: `${specFile}`, - from: /^ description: A map of changes.$/m, - to: ` description: | - JSON object with changed task attribute values. - - The following attributes can be adjusted with this endpoint, additional attributes - will be ignored: - - * \`candidateGroups\` - reset by providing an empty list - * \`candidateUsers\` - reset by providing an empty list - * \`dueDate\` - reset by providing an empty String - * \`followUpDate\` - reset by providing an empty String - - Providing any of those attributes with a \`null\` value or omitting it preserves - the persisted attribute's value. - - The assignee cannot be adjusted with this endpoint, use the Assign task endpoint. - This ensures correct event emission for assignee changes.`, - }); -} diff --git a/api/zeebe/zeebe-openapi.yaml b/api/zeebe/zeebe-openapi.yaml deleted file mode 100644 index 7bc6a5925e1..00000000000 --- a/api/zeebe/zeebe-openapi.yaml +++ /dev/null @@ -1,428 +0,0 @@ -openapi: "3.0.3" -info: - title: Zeebe REST API - version: "0.1" - description: API for communicating with the Zeebe cluster. - license: - name: Zeebe Community License Version 1.1 - url: https://github.com/camunda/camunda/blob/main/licenses/ZEEBE-COMMUNITY-LICENSE-1.1.txt -externalDocs: - description: Find out more - url: https://docs.camunda.io/docs/apis-tools/zeebe-api-rest/overview/ - -servers: - - url: "{schema}://{host}:{port}/v1" - variables: - host: - default: localhost - description: The hostname of a Zeebe Gateway. - port: - default: "8080" - description: The port of the Zeebe REST API server. - schema: - default: http - description: The schema of the Zeebe REST API server. - -paths: - /topology: - get: - tags: - - Cluster - summary: Get cluster topology - description: Obtains the current topology of the cluster the gateway is part of. - responses: - "200": - $ref: "#/components/responses/TopologyResponse" - /user-tasks/{userTaskKey}/completion: - post: - tags: - - User task - summary: Complete a user task - description: Completes a user task with the given key. - parameters: - - name: userTaskKey - in: path - required: true - description: The key of the user task to complete. - schema: - type: integer - format: int64 - requestBody: - required: false - content: - application/json: - schema: - $ref: "#/components/schemas/UserTaskCompletionRequest" - - responses: - "204": - description: The user task was completed successfully. - "404": - description: The user task with the given key was not found. - "409": - description: > - The user task with the given key is in the wrong state currently. - More details are provided in the response body. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - "400": - description: > - The user task with the given key cannot be completed. - More details are provided in the response body. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - /user-tasks/{userTaskKey}/assignment: - post: - tags: - - User task - summary: Assign a user task - description: Assigns a user task with the given key to the given assignee. - parameters: - - name: userTaskKey - in: path - required: true - description: The key of the user task to assign. - schema: - type: integer - format: int64 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/UserTaskAssignmentRequest" - responses: - "204": - description: The user task's assignment was adjusted. - "404": - description: The user task with the given key was not found. - "409": - description: > - The user task with the given key is in the wrong state currently. - More details are provided in the response body. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - "400": - description: > - The assignment of the user task with the given key cannot be completed. - More details are provided in the response body. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - /user-tasks/{userTaskKey}: - patch: - tags: - - User task - summary: Update a user task - description: Update a user task with the given key. - parameters: - - name: userTaskKey - in: path - required: true - description: The key of the user task to update. - schema: - type: integer - format: int64 - requestBody: - required: false - content: - application/json: - schema: - $ref: "#/components/schemas/UserTaskUpdateRequest" - responses: - "204": - description: The user task was updated successfully. - "404": - description: The user task with the given key was not found. - "409": - description: > - The user task with the given key is in the wrong state currently. - More details are provided in the response body. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - "400": - description: > - The user task with the given key cannot be updated. - More details are provided in the response body. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - /user-tasks/{userTaskKey}/assignee: - delete: - tags: - - User task - summary: Unassign a user task - description: Removes the assignee of a task with the given key. - parameters: - - name: userTaskKey - in: path - required: true - description: The key of the user task. - schema: - type: integer - format: int64 - responses: - "204": - description: The user task was unassigned successfully. - "404": - description: The user task with the given key was not found. - "409": - description: > - The user task with the given key is in the wrong state currently. - More details are provided in the response body. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - "400": - description: > - The user task with the given key cannot be unassigned. - More details are provided in the response body. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - -components: - responses: - TopologyResponse: - description: Obtains the current topology of the cluster the gateway is part of. - content: - application/json: - schema: - $ref: "#/components/schemas/TopologyResponse" - ProblemResponse: - description: Response for exceptional uses cases, providing more details. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - - schemas: - TopologyResponse: - description: The response of a topology request. - type: object - properties: - brokers: - description: A list of brokers that are part of this cluster. - type: array - nullable: true - items: - $ref: "#/components/schemas/BrokerInfo" - clusterSize: - description: The number of brokers in the cluster. - type: integer - format: int32 - nullable: true - partitionsCount: - description: The number of partitions are spread across the cluster. - type: integer - format: int32 - nullable: true - replicationFactor: - description: The configured replication factor for this cluster. - type: integer - format: int32 - nullable: true - gatewayVersion: - description: The version of the Zeebe Gateway. - type: string - nullable: true - BrokerInfo: - description: Provides information on a broker node. - type: object - properties: - nodeId: - description: The unique (within a cluster) node ID for the broker. - type: integer - format: int32 - host: - description: The hostname for reaching the broker. - type: string - port: - description: The port for reaching the broker. - type: integer - format: int32 - partitions: - description: A list of partitions managed or replicated on this broker. - type: array - items: - $ref: "#/components/schemas/Partition" - version: - description: The broker version. - type: string - Partition: - description: Provides information on a partition within a broker node. - type: object - properties: - partitionId: - description: The unique ID of this partition. - type: integer - format: int32 - role: - description: Describes the Raft role of the broker for a given partition. - type: string - enum: - - leader - - follower - - inactive - health: - description: Describes the current health of the partition. - type: string - enum: - - healthy - - unhealthy - - dead - UserTaskCompletionRequest: - type: object - properties: - variables: - additionalProperties: true - description: The variables to complete the user task with. - type: object - nullable: true - action: - description: > - A custom action value that will be accessible from user task events resulting - from this endpoint invocation. If not provided, it will default to "complete". - type: string - nullable: true - UserTaskAssignmentRequest: - type: object - properties: - assignee: - description: The assignee for the user task. The assignee must not be empty or `null`. - type: string - nullable: false - allowOverride: - description: > - By default, the task is reassigned if it was already assigned. Set this to `false` - to return an error in such cases. The task must then first be unassigned to - be assigned again. Use this when you have users picking from group task - queues to prevent race conditions. - type: boolean - nullable: true - action: - description: > - A custom action value that will be accessible from user task events resulting - from this endpoint invocation. If not provided, it will default to "assign". - type: string - nullable: true - UserTaskUpdateRequest: - type: object - properties: - changeset: - allOf: - - $ref: "#/components/schemas/Changeset" - description: | - JSON object with changed task attribute values. - - The following attributes can be adjusted with this endpoint, additional attributes - will be ignored: - - * `candidateGroups` - reset by providing an empty list - * `candidateUsers` - reset by providing an empty list - * `dueDate` - reset by providing an empty String - * `followUpDate` - reset by providing an empty String - - Providing any of those attributes with a `null` value or omitting it preserves - the persisted attribute's value. - - The assignee cannot be adjusted with this endpoint, use the Assign task endpoint. - This ensures correct event emission for assignee changes. - type: object - nullable: true - action: - description: > - A custom action value that will be accessible from user task events resulting - from this endpoint invocation. If not provided, it will default to "update". - type: string - nullable: true - Variables: - description: A map of variables. - type: object - additionalProperties: true - Changeset: - description: | - JSON object with changed task attribute values. - - The following attributes can be adjusted with this endpoint, additional attributes - will be ignored: - - * `candidateGroups` - reset by providing an empty list - * `candidateUsers` - reset by providing an empty list - * `dueDate` - reset by providing an empty String - * `followUpDate` - reset by providing an empty String - - Providing any of those attributes with a `null` value or omitting it preserves - the persisted attribute's value. - - The assignee cannot be adjusted with this endpoint, use the Assign task endpoint. - This ensures correct event emission for assignee changes. - type: object - additionalProperties: true - properties: - dueDate: - type: string - format: date-time - description: The due date of the task. Reset by providing an empty String. - nullable: true - followUpDate: - type: string - format: date-time - description: The follow-up date of the task. Reset by providing an empty String. - nullable: true - candidateUsers: - type: array - description: The list of candidate users of the task. Reset by providing an empty list. - items: - type: string - nullable: true - candidateGroups: - type: array - description: The list of candidate groups of the task. Reset by providing an empty list. - items: - type: string - nullable: true - ProblemDetail: - description: > - A Problem detail object as described in [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457). - There may be additional properties specific to the problem type. - type: object - properties: - type: - type: string - format: uri - description: A URI identifying the problem type. - default: about:blank - title: - type: string - description: A summary of the problem type. - status: - type: integer - format: int32 - description: The HTTP status code for this problem. - minimum: 400 - maximum: 600 - detail: - type: string - description: An explanation of the problem in more detail. - instance: - type: string - format: uri - description: A URI identifying the origin of the problem. - securitySchemes: - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT diff --git a/docs/apis-tools/frontend-development/01-task-applications/02-user-task-lifecycle.md b/docs/apis-tools/frontend-development/01-task-applications/02-user-task-lifecycle.md index 85fdc6ea1eb..823710fc9f0 100644 --- a/docs/apis-tools/frontend-development/01-task-applications/02-user-task-lifecycle.md +++ b/docs/apis-tools/frontend-development/01-task-applications/02-user-task-lifecycle.md @@ -80,17 +80,17 @@ Make sure that you create your own validation logic that matches your use case. To implement task life cycle operations with the task API, call the respective endpoints: -- [`POST /user-tasks/:taskKey/assignment`](/apis-tools/zeebe-api-rest/specifications/assign-a-user-task.api.mdx) or [`DELETE /user-tasks/:taskKey/assignee`](/apis-tools/zeebe-api-rest/specifications/unassign-a-user-task.api.mdx) to change task assignment. -- [`PATCH /user-tasks/:taskKey`](/apis-tools/zeebe-api-rest/specifications/update-a-user-task.api.mdx) to update a task. -- [`POST /user-tasks/:taskKey/completion`](/apis-tools/zeebe-api-rest/specifications/complete-a-user-task.api.mdx) to complete a task. +- [`POST /user-tasks/:userTaskKey/assignment`](/apis-tools/camunda-api-rest/specifications/assign-user-task.api.mdx) or [`DELETE /user-tasks/:userTaskKey/assignee`](/apis-tools/camunda-api-rest/specifications/unassign-user-task.api.mdx) to change task assignment. +- [`PATCH /user-tasks/:userTaskKey`](/apis-tools/camunda-api-rest/specifications/update-user-task.api.mdx) to update a task. +- [`POST /user-tasks/:userTaskKey/completion`](/apis-tools/camunda-api-rest/specifications/complete-user-task.api.mdx) to complete a task. All these endpoints (except `DELETE`) allow you to send a custom `action` attribute via the payload. The `action` attribute carries any arbitrary string and can be used to track any life cycle event, including those mentioned above. -#### [`POST /user-tasks/:taskKey/assignment`](/apis-tools/zeebe-api-rest/specifications/assign-a-user-task.api.mdx) +#### [`POST /user-tasks/:userTaskKey/assignment`](/apis-tools/camunda-api-rest/specifications/assign-user-task.api.mdx) Use the `assignment` endpoint to change the task assignment. Use the `action` attribute to indicate the cause of the change, including `claim`, `reassign`, or `assign`. -#### [`PATCH /user-tasks/:taskKey`](/apis-tools/zeebe-api-rest/specifications/update-a-user-task.api.mdx) +#### [`PATCH /user-tasks/:userTaskKey`](/apis-tools/camunda-api-rest/specifications/update-user-task.api.mdx) Use the `update` endpoint to change candidate users, groups, the due date, or the follow-up date by defining the `changeset`. You can also send it with an empty `changeset` and just pass an `action`. Use it to send `start`, `pause`, and `resume` actions. Additionally, you can send anything of interest or relevant for the audit log such as `escalate`, `requestFurtherInformation`, `uploadDocument`, or `openExternalApp`. @@ -105,7 +105,7 @@ An example request payload could look like this: } ``` -#### [`POST /user-tasks/:taskKey/completion`](/apis-tools/zeebe-api-rest/specifications/complete-a-user-task.api.mdx) +#### [`POST /user-tasks/:userTaskKey/completion`](/apis-tools/camunda-api-rest/specifications/complete-user-task.api.mdx) Use the `completion` endpoint to complete a task. Pass along with it the outcome of the task via the `action` attribute, such as `approve` or `reject`. diff --git a/docs/apis-tools/spring-zeebe-sdk/getting-started.md b/docs/apis-tools/spring-zeebe-sdk/getting-started.md index dcfa9fa05ce..86ac4f519b1 100644 --- a/docs/apis-tools/spring-zeebe-sdk/getting-started.md +++ b/docs/apis-tools/spring-zeebe-sdk/getting-started.md @@ -4,7 +4,7 @@ title: Getting started description: "Leverage Zeebe APIs (gRPC and REST) in your Spring Boot project." --- -This project allows you to leverage Zeebe APIs ([gRPC](/apis-tools/zeebe-api/grpc.md) and [REST](/apis-tools/zeebe-api-rest/zeebe-api-rest-overview.md)) in your Spring Boot project. Later on, we’ll expand the Spring Zeebe SDK to deliver a Camunda Spring SDK that provides a unified experience for interacting with all Camunda APIs in Java Spring. +This project allows you to leverage Zeebe APIs ([gRPC](/apis-tools/zeebe-api/grpc.md) and [REST](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md)) in your Spring Boot project. Later on, we’ll expand the Spring Zeebe SDK to deliver a Camunda Spring SDK that provides a unified experience for interacting with all Camunda APIs in Java Spring. ## Version compatibility diff --git a/docs/apis-tools/zeebe-api-rest/sidebar-schema.js b/docs/apis-tools/zeebe-api-rest/sidebar-schema.js deleted file mode 100644 index af9f3d63522..00000000000 --- a/docs/apis-tools/zeebe-api-rest/sidebar-schema.js +++ /dev/null @@ -1,12 +0,0 @@ -/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ - -module.exports = { - "Zeebe API (REST)": [ - "apis-tools/zeebe-api-rest/zeebe-api-rest-overview", - "apis-tools/zeebe-api-rest/zeebe-api-rest-authentication", - "apis-tools/zeebe-api-rest/zeebe-api-tutorial", - { - Specifications: require("./specifications/sidebar.js"), - }, - ], -}; diff --git a/docs/apis-tools/zeebe-api-rest/specifications/assign-a-user-task.api.mdx b/docs/apis-tools/zeebe-api-rest/specifications/assign-a-user-task.api.mdx deleted file mode 100644 index 3dd58a62c99..00000000000 --- a/docs/apis-tools/zeebe-api-rest/specifications/assign-a-user-task.api.mdx +++ /dev/null @@ -1,55 +0,0 @@ ---- -id: assign-a-user-task -title: "Assign a user task" -description: "Assigns a user task with the given key to the given assignee." -sidebar_label: "Assign a user task" -hide_title: true -hide_table_of_contents: true -api: eJztWNty2zYQ/RUMXppMbVFJ3TTRm+M6rdtcPLbcTmN7xiAJSYhJgAVAySpH/96zAKl7LtPmMckkw8tiz+7inCVWDfdi7Pjgml85aZkX7p7fHvBcusyqyiuj+YAfO6fG2jHB6s6IzZSfMD+RbKymUrN7OWferD0QYY2UPX7AK2FFKb20BNRwjRt4JV9DuPpdzmGjCKgSfoJrK/+ulZU5H3hby+1ohsAgODMKcKuQgB9RCdNlE1kKPmi4n1cEp7SXY2nxamRsKXx89OyILxa3EVI6/9Lkc1qzHUFmsFp7eiWqqlCZoGCSD44ianbBTPpBZp5St6aS1ivpwtq2KHS9m1T3liHAzdR6bON9WTvPtPEslUyWlUctLLvTdVHcUeptDM5bpce4pxciLfBsJAonFwdcFIWZvZtKa1W+J5iXc5bLkagLfxDiCNVVjlnZhpAzNWLKs5kAKQo8zudddHmPXUqPZbDHhtwFyDu6tNLXFsTQDLgIWGnm6mzCMuGkixkGoJAdYDUbKetCkrVeAsNRuixFzsRYKN1jIG+EnNG6uanZRExjAR2rVHaPSrCRNSUbW1NXEQg7jj0nj5WV4KxnVmSSYa9zRZVwvRu9KmdqTCGF3qgnkYPKmcXCbdfxmGXIBaDRgE1FUVOcApVTRRESyTKJXOAthrdic4iIau6wD8vwQ5JS55UBeVHCqYlU7LGzUaAECDfFpuYHYX8Ipd1KyvOmZeAN30htD1NCZkjNK0+3oTuQWGMrKBHaRVQM5EN2CLNCxSLNn/aP9jN8md13rt1C8hRplH9ArUAfDm9H/f6nJBIW7ch/T0fKhG5lkpmyKiT5Z2+MlSiKF6oALK67khEjaX2XC0vRDWKhPqJ/rES1yu93+8A2Ec6jZYvLYn9AOiwaphH9+uLVCXtx9ONPt48m3ldukCSz2axnR9mhBCeN7Rk7TnBL/8jucdANcijFPNApj9QVBVt1HuYqmamRyroO3YbNaPs3iPCRthXfNjt0WTbS2iq+89FgVxdnDHXVXo3mROAd6LAmkBP2IjW1H6SF0Pd8Rbxd0G0UV5elsMvPwSYAHDkvfO0++yH44emObyLcr8PhOYsuwKG8680QYQtESZRKq7Iu+QC8xZ14iHfP+v0F+aQd/4JM0BcfKqQfqLWdDshRrngbElMacensa+2MsWqstnEBtNYEWhL/HDOKwj/6rNb3CZMUT8ocmVp3kn/xH/xgH1rRzqxBIrRTEHttLZIr5t/E/k3s38T+tcSOlzjFT0xOJ3XjAnXowD7gCYn0kETqkmbtXL9IVh9sOpNLO+2GgNqiTLyJIlqA+80ELheDpjLWL5LpE9hPhVV0HAkbSq+j2DoSFTj7FJMYyO5m0guaNChJwd5LCcX8gu4wE/NQUcLZ9Pe8/7y/1xWZdrWKji5OL4fs+PyMxZQi99b6QeeShL3XZTT+nNMwmjiJfqb8/JKWxFqkEq3MHtdU/CUfWqzgORxYgxGexItXHUt++3MYNpr62MVq7Dl9EHRE2hxTViTbGhniWNQdfDuzQNSRCUG1NNpMjTYVDIiL+r0nu3RF+qQ6nNfKWofWC8ouO3/0lhV0VLSkRnRnie5NiO1YGU1O4nqMRq+jBfsj4rInATXSr+u7Y/iv0x5Ak0xgXS6Sf8hNkhYmTUqMGEkL5JL3p6cvTw9P3r15c/X2bPjX4euzk9O3l6eH8NvzDz6UltRRCr0WVTw3r0/Q26k3q+/O/x64W0Z4+eATdBnM1os25aaV7DVfSRYLBpvD+JpqQcCovGveNClGtStbLBb0GMyxGJavb1dCDcrOlaPrvB03P5Hmo4t2zH7Mvmyo35tX+1DoeWgZGLFwh0u42/qVYXEL8wmmVciCIo0WJzGewyH5WXnYmfMXB92KYwxtlf+I7cYxgfS77Jnn7y6HJMf2N4bSkJC4FTP6yQP/D/gN/uLGhFoFpYfnDceXYlyLMdlHv/TnX93IKMU= -sidebar_class_name: "post api-method" -info_path: docs/apis-tools/zeebe-api-rest/specifications/zeebe-rest-api -custom_edit_url: null -hide_send_button: true ---- - -import ApiTabs from "@theme/ApiTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import Markdown from "@theme/Markdown"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; - -

    Assign a user task

    - - - -Assigns a user task with the given key to the given assignee. - -## Request - -

    Path Parameters

    Body

    required
    - -The user task's assignment was adjusted. - -
    - -The assignment of the user task with the given key cannot be completed. More details are provided in the response body. - -
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    - -The user task with the given key was not found. - -
    - -The user task with the given key is in the wrong state currently. More details are provided in the response body. - -
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    diff --git a/docs/apis-tools/zeebe-api-rest/specifications/complete-a-user-task.api.mdx b/docs/apis-tools/zeebe-api-rest/specifications/complete-a-user-task.api.mdx deleted file mode 100644 index 76903ffe6b9..00000000000 --- a/docs/apis-tools/zeebe-api-rest/specifications/complete-a-user-task.api.mdx +++ /dev/null @@ -1,59 +0,0 @@ ---- -id: complete-a-user-task -title: "Complete a user task" -description: "Completes a user task with the given key." -sidebar_label: "Complete a user task" -hide_title: true -hide_table_of_contents: true -api: eJztV8Fy2zYQ/RUMTslUFuXUTRPdHFVp3caJR5bbaWwfIBKSkJAEA4CSVQ7/vW8JUpREe+x2crQ99hDE4i12970lUHAnFpYPr/mVlYY5Yb/y2x6PpA2NypzSKR/ykU6yWDppmWB5Y8bWyi2ZW0q2UCuZsq9y0+c9ngkjEtgaAi14igEQaNUUi/6QG9goAs2EW+LZyG+5MjLiQ2dyeeh5CngAMz2vPLXOnWZhvSvyasOlTAQfFtxtMnKoUicX0mBqrk0inH/1+oSX5a13Kq17p6MNrWn3MBexxSZCjeWpozmRZbEKBe0n+GJpU0XXm559kaGj6I3OpHFKWppdCaPELPYDEUWKUER8sWP0UNDbpbuRHuSACkDBH24izeOY1nr0ssdF6JGLA0enLMyt0wnzBnAa5+REOGDHMZtJzITSWgU0NjewbL1LFN1ZZqTNY6fShZ93S2WZTKNMI91MpSvtc9dnZ3OWaseQoZWKZNRjqvYSybkABAV6w5tQb3j/Jm1js87ARTc2BOeUo2HFX6JYTVb4nPgqo+Rkh41mOrW+GK8GJ910TPezK+w28RGzeZWIOdyD5oA7GQweRegIhIUipSQgsVvoPjvXRiILTqgYCsNzkyPkr1rfbJ3NQFiflwcYipVITvJDl6mHlb/wlrVf5snDELM3nHnv15P3I/b25Kefb18sncvsMAjW63XfzMMjCTpr09dmEWBIf2T3ss+QBMSQiE3Fny3rWasNZjMZqrkKqeYUYL1tRtXeq/sDwvKzRYcdW63nRvFDWZ2yq8kZQ15Tp+YbYmzHdbWmYiPsxUznbjiLRfqVtzzrOj30YvMkEWbbs/YdAMg64XL7aK/68VUHm+j123R6wTwEOBRBltp41dWOKIhEpSrJEz4ESzESd370ejAoCZMq/oRIUibvMoRfUeswHJAjaXlbBaZS7CsNv1dltFELdegXjnY0X5P4Fx+R1/nJE6TdFSapnZQ513ka1QJ/+z9wUIdatGujEQhVCmLPjUFwaB3PYn8W+7PYv5PYMYmj5lJHdJzUtqIOnSqHPCCRHpFIbVDsHD7LINweD+jYKM2qOanmBmnihRdRCe4XS0CWwyLTxpXB6hj2ewc6mvZia0gU47ATL/1GusWkCToOU5CCfZYSivkV3WEt/ImC/OzjvRm8GdwLRaZNrjzQZHw5ZacXZ8yH5Lm30w8aSBL2vZDe+DHQ6vRsJfqZcptLWuJzMZNoZeY0p+Rv+VD7qpBp7I3wxj+8b1jy+1/TqtDUxybtyXx8J6hUhwfpnfNsw7iKjnNdua7Jsh8AlQ519osG/eMuKREkaQvsSPK0arAg5ra/e7QwxmmZ0tDj6MESPZo81jccbzLy692GffAW7E/vlx1XXj3Jmu66AH4+68NpEAqsi0TwD8EEs1jPgkSoNKgd2eDzePxufDT6dH5+9fFs+vfRh7PR+OPl+Ai4fXfnqgSSBhKR7uyqubntXtwOgy/a78t/uunVVXbyzgXoHLjUlXWARS3Da97KEAuG+7fAHSWCVF5N17woZsLKKxOXJb0GGwzuaNe3rfgqtUbK0nN7ZXswpBeT+nb3kj31NnlvZPVLkW6qRoCbEkZ4BODBBbe8hflSighkp716i5Hf0dGUcFqEzv2y7DUrTnHlyNwDtnsff1LlthNefLqcksjqy22C7wbeGrGm2zb+D/kNfjHQVbYq/VbvC47+v8jFguw9Lv38C0iulxI= -sidebar_class_name: "post api-method" -info_path: docs/apis-tools/zeebe-api-rest/specifications/zeebe-rest-api -custom_edit_url: null -hide_send_button: true ---- - -import ApiTabs from "@theme/ApiTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import Markdown from "@theme/Markdown"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; - -

    Complete a user task

    - - - -Completes a user task with the given key. - -## Request - -

    Path Parameters

    Body

      variables objectnullable
      - -The variables to complete the user task with. - -
    - -The user task was completed successfully. - -
    - -The user task with the given key cannot be completed. More details are provided in the response body. - -
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    - -The user task with the given key was not found. - -
    - -The user task with the given key is in the wrong state currently. More details are provided in the response body. - -
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    diff --git a/docs/apis-tools/zeebe-api-rest/specifications/get-cluster-topology.api.mdx b/docs/apis-tools/zeebe-api-rest/specifications/get-cluster-topology.api.mdx deleted file mode 100644 index c07bf7f8421..00000000000 --- a/docs/apis-tools/zeebe-api-rest/specifications/get-cluster-topology.api.mdx +++ /dev/null @@ -1,48 +0,0 @@ ---- -id: get-cluster-topology -title: "Get cluster topology" -description: "Obtains the current topology of the cluster the gateway is part of." -sidebar_label: "Get cluster topology" -hide_title: true -hide_table_of_contents: true -api: eJy1Vttu2zgQ/RWCT7uAEzndlyJvqesGXvQSJO4utoEfKHkss6VELUk5dQX/+86QlCXbai5AFzBgiRqeM8M5M8OGO5FbfnnPJ6q2DgxfjPgSbGZk5aQu+SX/lDohS8vcGlhWGwOlY05XWul8y/QqrIfN/jkXDh7ElknLKmEcmpzzETdgK11aQK6GvxqP6e//4Ml06XAnwYuqUjITBJ98tcTRcJutoRCn5HMEbF0kMtFRG/i3BusI3G0rQGOdfoXM4XtldAXGyRBVavQ3MPYU/IopaclBFk3Qf+GYMNB6jgsYRoyuxySMEVt8LWulRKpwyZkaRlw6KAaIbozeSFxislxpU/jQGf5EJGalXsLTgZDVbDl8SHUp8TjYbw8SXSbk6PTvHpvN3jJk9vkJlD02iZnJUWEjHpwLS3+84rsRX2vrhgnpSykK8LgGRIa0+TCBdQa/EVylzU/g6MszoB7zlXImCfLRVHdWrBClyGHJPGvQJL2VIesn3G3SX5zkPSXbZ+dFed/vfyL5mORWsvstzzw7o0nEx9hv/VsKofhvxcoxMmyrPgZBWRMslxsoB3lj+kccyrqglqZALKMfSukH/yhLkTmE4AtSHQjl1k/50zajYN069SwPwhZKZl12z0v0C/nRAUSg8+A3LRin1Q22CBn61WkO4mFEmwH192DfeNsZ6sQvx1K9kz8GckDY6HWK2L1GJct+331Oko+b1UHBTHRd/qQwO+5e5VCLtBWW6pKJzGhrf4E3bQkiwTvUgjbD/uAgWcm8NlipvR1s5bfEJjfYs1/iS5xhfz2W8JjpVndfAFJg12HjkPaOSHpymMeRdhsHHYpiR98LcGuNJc9z8E1BUE3wpJ2AuGTBbPxou294bRR+bcIk3V0mSUMtenfZUGvdJZsLtN8II8kH31a63r4StaLzUDoTyi8fXzYOOr6fw0fxHjT3Fu/1+PV4EMp3+4ODu53ezdnVzYyFkDxg/1LQQq6dqwYhg/FToLvdgk4NW4d02zvaEu8IgJI2V3XoOjF1kcsj03swwpXw8K6V0Z9/z30dU+P322NeD53gvQbCx+cXJ1GQo6TfTBcFdnQSNo5BGhm9kHq6Ru0DqYVuBqLoCCdhv9uy98GCRR2zC88ahELBWVRJjvh1eo6kSSZw31IkPwgmSZVOkwKvfkkkssmX6fTN9Gzy6cOHzx9n83/O3s8m04930zPEPXffnT+EClWCg7Xn1TW47oLYafcg+Ka7IP6iC2fMoYPvLqkUApKifOhNrKR7vvdm0d507nnTpMLCZ6N2O1rGuWq2uL7oiofewpCiKUal9w22lL8sg8r5KlO1vzAcX3RJfPuivp6Sav4D0YQjZg== -sidebar_class_name: "get api-method" -info_path: docs/apis-tools/zeebe-api-rest/specifications/zeebe-rest-api -custom_edit_url: null -hide_send_button: true ---- - -import ApiTabs from "@theme/ApiTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import Markdown from "@theme/Markdown"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; - -

    Get cluster topology

    - - - -Obtains the current topology of the cluster the gateway is part of. - -## Request - -
    - -Obtains the current topology of the cluster the gateway is part of. - -
    Schema
      brokers object[]nullable
      - -A list of brokers that are part of this cluster. - -
    • Array [
    • partitions object[]
      - -A list of partitions managed or replicated on this broker. - -
    • Array [
    • ]
    • ]
    diff --git a/docs/apis-tools/zeebe-api-rest/specifications/sidebar.js b/docs/apis-tools/zeebe-api-rest/specifications/sidebar.js deleted file mode 100644 index 25b13ac45ac..00000000000 --- a/docs/apis-tools/zeebe-api-rest/specifications/sidebar.js +++ /dev/null @@ -1,48 +0,0 @@ -module.exports = [ - { - type: "doc", - id: "apis-tools/zeebe-api-rest/specifications/zeebe-rest-api", - }, - { - type: "category", - label: "Cluster", - items: [ - { - type: "doc", - id: "apis-tools/zeebe-api-rest/specifications/get-cluster-topology", - label: "Get cluster topology", - className: "api-method get", - }, - ], - }, - { - type: "category", - label: "User task", - items: [ - { - type: "doc", - id: "apis-tools/zeebe-api-rest/specifications/complete-a-user-task", - label: "Complete a user task", - className: "api-method post", - }, - { - type: "doc", - id: "apis-tools/zeebe-api-rest/specifications/assign-a-user-task", - label: "Assign a user task", - className: "api-method post", - }, - { - type: "doc", - id: "apis-tools/zeebe-api-rest/specifications/update-a-user-task", - label: "Update a user task", - className: "api-method patch", - }, - { - type: "doc", - id: "apis-tools/zeebe-api-rest/specifications/unassign-a-user-task", - label: "Unassign a user task", - className: "api-method delete", - }, - ], - }, -]; diff --git a/docs/apis-tools/zeebe-api-rest/specifications/unassign-a-user-task.api.mdx b/docs/apis-tools/zeebe-api-rest/specifications/unassign-a-user-task.api.mdx deleted file mode 100644 index b9b6246ae24..00000000000 --- a/docs/apis-tools/zeebe-api-rest/specifications/unassign-a-user-task.api.mdx +++ /dev/null @@ -1,55 +0,0 @@ ---- -id: unassign-a-user-task -title: "Unassign a user task" -description: "Removes the assignee of a task with the given key." -sidebar_label: "Unassign a user task" -hide_title: true -hide_table_of_contents: true -api: eJztV01z2zYQ/SsYnJKpJcqpmya6qY7SurUTjyy107g6gORKQkwCDD4kqxz+9+4SpL5bdzI5+uAxAe6+t4vdBy1L7sTc8v49n1gwzAn7wKdnPAWbGFk4qRXv8xHkegmWuQUwYa2cKwCmZ0zU9mwl3aJ+N5dLUOwB1l1+xgthRA4ODKGXXOECoTyyjNHpN1ijjST0QrgFPhv44qWBlPed8XAYwhjhEZhYicm3wRKTTRaQC94vuVsXRCKVgzkYfDXTJhcubL2+4FU1JSJbaGXBkser3gX9OybbMLCVsMyrJu+UWZ8kYO3MZxnmWZ3xi17vSYijE2KJUEo7FsMOdpfdaAMsBSdkZpnA58LopUyRVqoaoA2exTpdd/9SmGOiMV3lKAZRFJlMBMUQoWecQf7dZ0sBlTuntB/pgN0Gy4aX6fgzJA4LzYJhHNjvR+8v2duLH36cvlg4V9h+FK1Wq66ZJR1IpdOmq808wiX9kd3LLsNTwBxysaY8RYpmyCkyyqoA4yT2lC0gkTOZMKfrBJuwGZUy5NcUNYRFjbVx3pZ8U3rrjFTz3cp7I/lhNw3YZHTF8FyVk7M1OhxT1z4z4TPCELH2rh9nQj1QxZ102UnSQxbr81yYTdfuEyCQdcJ5+2Tnfv/qCJv665fx+JYFCJboFBj6II+0LRElkUslc5/zPrYprsRjWL3u9SrCpIr/j0wUg8cC069b6zAdbI5827d1YlJhXCr5VpXRRs7lIS8SbWvBmyZ+FzKqqqpW5tPiPlYm6Z2kOdNepY3C334FDtahEe3KaEyEKgUs8cZgcnh3PIv9WezPYv9GYseXOGwsNI4PSJLh3FGPIDhZ9HlEMu2QTG1U7gwgVdQOMzREgFm2s4o3eEy8DCKqsPfLhbau6peFNq6KludovxRGCgyiLii9DmJrmyjTicjq7VPFpBc0EIUh6hMAKuZnvB1WIowUxLOP96b3pncSikzbswpAo+HdmA1ur1hIKfTezn3QQpKwT0IG46dA61nKAt5n0q3vyCWcRQx4lZmBp6Pf9EPDVSPTOhjhTnh433bJr3+M60JLNdO1e1Pw/SDo+LFWIeJe9/y4sTBQ0kei89yr+pLE5trc0QEtybx1lMoZx3sU8J4lxmZODSaXwd+t2XWwYL8HXnZes4ZGaW/IOeL7uIukUSLQLxXR3wQTxZmOo1xIFTVENvo0HP407Fx+vLmZfLga/9m5vrocfrgbdhC36x5dfQgFdkku1E5Uk2ZUxKbZ/PQcJl9ufyO+bnBvSubg0UV4DeCMXjWZlo2i7vlWUejQ3x/qN6LC/gjCuOdlGQsLE5NVFW1/8WDWuD/d6qgWXiotPaOIZyKzhx8Bu5m9GDWfCy/Zf30anMyl2RRqXes487TCRwQ5+EKppmi+AJFir1J8wWKAHwCF2/H9119iksjmWno3vB6Oh1jZfwDR0aEr -sidebar_class_name: "delete api-method" -info_path: docs/apis-tools/zeebe-api-rest/specifications/zeebe-rest-api -custom_edit_url: null -hide_send_button: true ---- - -import ApiTabs from "@theme/ApiTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import Markdown from "@theme/Markdown"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; - -

    Unassign a user task

    - - - -Removes the assignee of a task with the given key. - -## Request - -

    Path Parameters

    - -The user task was unassigned successfully. - -
    - -The user task with the given key cannot be unassigned. More details are provided in the response body. - -
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    - -The user task with the given key was not found. - -
    - -The user task with the given key is in the wrong state currently. More details are provided in the response body. - -
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    diff --git a/docs/apis-tools/zeebe-api-rest/specifications/update-a-user-task.api.mdx b/docs/apis-tools/zeebe-api-rest/specifications/update-a-user-task.api.mdx deleted file mode 100644 index 71af92194c3..00000000000 --- a/docs/apis-tools/zeebe-api-rest/specifications/update-a-user-task.api.mdx +++ /dev/null @@ -1,73 +0,0 @@ ---- -id: update-a-user-task -title: "Update a user task" -description: "Update a user task with the given key." -sidebar_label: "Update a user task" -hide_title: true -hide_table_of_contents: true -api: eJztWFlz2zYQ/isYvjRprcOOkyZ6UxQldZrDI0vtNJZnDJKghIQEWACUrGr037uLpUTqcOym6Uwf7DgeksDe+y0Wuwwcn9igcxmMrDDMcfsluDoKYmEjI3MntQo6wSiPuROMs2K9h82lmzI3FWwiZ0KxL2LRDI6CnBueCScMclwGCl6AHKmGQPSrWMAeiRxz7qbwbMSfhTQiDjrOFGJX7BDYA2OmEy+pEu40K7xKKNNGU5HxoLMM3CJHcVI5MREGlhJtMu7o07PTYLW6IpHCupc6XiBNpUHCUwsqRBrIlcM1nuepjDhq0/psUaXlvjQdfhaRQ9uNzoVxUlhcjaZcTYQVxChNPybeI9sGvr34+IERA3IoUcVkJXfOyLAAx894Cjo3x2qs0CeJTlM9l2pSbbEs4oqFEKP4c2EdsCgDJC0TKs41eOAIFmOJonlaoxyruUxTpJUTpcEVHZTzI7sGjrFEL78xusjtNWswgxaxcMHA2JmMvQqKiSx3C5ZK67bpMKPuTxYX4hUQ3bX/AvRWE09Bfhjl/4RsrM5ri2VuaSvqrvSu4+xaFWl6Tc5n2jCdSeeQTjqQALLMDL2HqQmBt9K7fcPmB0uUm6hxa8HBQmCklHZ3BgvS3ad919NRSqxXm8jS77aFweBrYzCJBGAR/mYSaLSCRDE1sZSRQArJupu8VWac19KYQLmd2GWYagiw3rV1uGHwG04C+A9BGjgwX09KXKNlTTa4M3gIdgwJD1NBuq1QZpUD/0InYtMo8u+n2TYMarpxY/jioBaIBZS9IfU1z95fHWSAykgnMrvvjtXX1CSUf6OeE0/8HyoKX5x0+Br0NqV1tXdSPVTUh4r6/6ioe0DjEeXobhPQZRGorDNGG0rvuCnHDKY04lEkQChwY4mBnVUn5NWzGKci9Z7061t2M6lmmrqYJjtLGHqKwiniI/S8lxKLhAMLbK3GATVX42DLsk1JvR2Zo7LRo35xQJ0WtF24B1TMtbJ0iJy0T/cdMdzq8ebclk1ezGzhHZCAYGgzgdlpu30n/V6DWkuTknGTvQd4gu2Oy9QyDs9rz4DXPPVabRZCw0j+uKVDBEpwSvbTfqe4G+9z2lnKXZcrsJc2hiT9cvC6x16cPv356tHUudx2Wq35fN40SdQQUHS0aWozacEr/sd9j5sMXAA2ZHxBWNjUpuoIZzYXkUxkhJH2QCuVwSgfzuTt859Wv3LQFkbuHRpdNhqcMfCrcjJZYJ7uifY0Pgfx6Al14TphytWXoMqvfaG7UmyRZdxsbgzbAoCRddwV9s67wpOTg8feL8PhOSMWUB9i4auBx1opCI3IpJJZkQUdyFF44zf09qzdXiFPjPg9LIEie5OD+T61ds2B5MiqvPWGSQV6qeh7RUYbOZG7ckFQDetlEr8iiwjjp/eA9T4sEemIy0QXKi7h/eIb+EAcStDOjQZDMFJQpAso5MpB4XgA+wPYH8D+ncAOi5mAPi+mYU409dMfN4XXFqK0gSi1rWVt9rPCYQ22eOV0qDDgnGBJ0FlBxi+hbXSrzjLXxq1as2PYP+NGYq/hw4jLBLF16qTQ2KT+86EQ4gKOoNA0zj4JATh5AzVhzqmLQDnb/J63n7cPssKtaw8Ro0H/Ysi652eMTKKMq1WBNUuE80GWtPkupn5mZQVUMekWF0hCvggFFDDTLdDjmywoZXnO+E6b4As9vF7nxtvfhz68WL0G1Tysf8OznLC3Nb7aXPmhbzs5bbTh98nwpN05OekcP28+aT/9FOxexL+2c/difLnO3qsDt9FqsdZC166JUiXae6DM1G0/YgbhRcITtZvH+4gAXyOwI51lhfLVHVCxOVyIW5TincIg4OEAgBuCd1E53KQtPaKHa9E72sF+I7ns2EulXF+X9gnwL8ImCG1FHOhi3voL2bTCVIetjEvVKgXZ1qd+/2W/0fv4/v3ow9nwj8a7s17/w0W/AXyb7sb5OOaQ6BlXNa32J7a7pi+ro+3+890yz5y4cS2oWFJhCLxtyxL9l0GFfiDo1Ge/EF+C8GWwXIbcipFJVyv8DCloFvD9qkI8jUulxedqOnurCY8G5SD3Mbvf2PigKevJh1r42gMXMXiDR2C3M8deYT5OBY8BX6gp7eiRPo0h8qk47A2SV0drii7cbHJ3y96tLgMLwabknneHvV8Q2OUYO4MTCj4bPsepOvztBGP4By/aO8vXDP99GcBJMyn4BPcTY/z5G77OagE= -sidebar_class_name: "patch api-method" -info_path: docs/apis-tools/zeebe-api-rest/specifications/zeebe-rest-api -custom_edit_url: null -hide_send_button: true ---- - -import ApiTabs from "@theme/ApiTabs"; -import DiscriminatorTabs from "@theme/DiscriminatorTabs"; -import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; -import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; -import MimeTabs from "@theme/MimeTabs"; -import ParamsItem from "@theme/ParamsItem"; -import ResponseSamples from "@theme/ResponseSamples"; -import SchemaItem from "@theme/SchemaItem"; -import SchemaTabs from "@theme/SchemaTabs"; -import Markdown from "@theme/Markdown"; -import OperationTabs from "@theme/OperationTabs"; -import TabItem from "@theme/TabItem"; - -

    Update a user task

    - - - -Update a user task with the given key. - -## Request - -

    Path Parameters

    Body

      changeset objectnullable
      - -JSON object with changed task attribute values. - -The following attributes can be adjusted with this endpoint, additional attributes -will be ignored: - -- `candidateGroups` - reset by providing an empty list -- `candidateUsers` - reset by providing an empty list -- `dueDate` - reset by providing an empty String -- `followUpDate` - reset by providing an empty String - -Providing any of those attributes with a `null` value or omitting it preserves -the persisted attribute's value. - -The assignee cannot be adjusted with this endpoint, use the Assign task endpoint. -This ensures correct event emission for assignee changes. - -
    - -The user task was updated successfully. - -
    - -The user task with the given key cannot be updated. More details are provided in the response body. - -
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    - -The user task with the given key was not found. - -
    - -The user task with the given key is in the wrong state currently. More details are provided in the response body. - -
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    diff --git a/docs/apis-tools/zeebe-api-rest/specifications/zeebe-rest-api.info.mdx b/docs/apis-tools/zeebe-api-rest/specifications/zeebe-rest-api.info.mdx deleted file mode 100644 index 66890419109..00000000000 --- a/docs/apis-tools/zeebe-api-rest/specifications/zeebe-rest-api.info.mdx +++ /dev/null @@ -1,56 +0,0 @@ ---- -id: zeebe-rest-api -title: "Zeebe REST API" -description: "API for communicating with the Zeebe cluster." -sidebar_label: Introduction -sidebar_position: 0 -hide_title: true -custom_edit_url: null ---- - -import ApiLogo from "@theme/ApiLogo"; -import SchemaTabs from "@theme/SchemaTabs"; -import TabItem from "@theme/TabItem"; -import Export from "@theme/ApiExplorer/Export"; - -

    Zeebe REST API

    - -API for communicating with the Zeebe cluster. - -
    -

    - Authentication -

    - - -
    - - - - - - - - - - - - - - - -
    Security Scheme Type:http
    HTTP Authorization Scheme:bearer
    Bearer format:JWT
    -
    -
    -
    -
    - diff --git a/docs/apis-tools/zeebe-api-rest/tutorial.md b/docs/apis-tools/zeebe-api-rest/tutorial.md deleted file mode 100644 index 2bb1795037a..00000000000 --- a/docs/apis-tools/zeebe-api-rest/tutorial.md +++ /dev/null @@ -1,182 +0,0 @@ ---- -id: zeebe-api-tutorial -title: Tutorial -description: "New to the Zeebe API? Step through our tutorial to assign and unassign a user to and from a Zeebe user task." ---- - -In this tutorial, we'll step through examples to highlight the capabilities of the Zeebe API, such as assigning and unassigning a user to and from a Zeebe user task. - -## Prerequisites - -- If you haven't done so already, [create a cluster](/guides/create-cluster.md). -- Upon cluster creation, [create your first client](/guides/setup-client-connection-credentials.md). Ensure you check the `Zeebe` client scope box. - -:::note -Make sure you keep the generated client credentials in a safe place. The **Client secret** will not be shown again. For your convenience, you can also download the client information to your computer. -::: - -- In this tutorial, we utilize a JavaScript-written [GitHub repository](https://github.com/camunda/camunda-api-tutorials) to write and run requests. Clone this repo before getting started. -- Ensure you have [Node.js](https://nodejs.org/en/download) installed as this will be used for methods that can be called by the CLI (outlined later in this guide). Run `npm install` to ensure you have updated dependencies. - -## Getting started - -- You need authentication to access the API endpoints. Find more information [here](./zeebe-api-rest-authentication.md). - -## Set up authentication - -If you're interested in how we use a library to handle auth for our code, or to get started, examine the `auth.js` file in the GitHub repository. This file contains a function named `getAccessToken` which executes an OAuth 2.0 protocol to retrieve authentication credentials based on your client id and client secret. Then, we return the actual token that can be passed as an authorization header in each request. - -To set up your credentials, create an `.env` file which will be protected by the `.gitignore` file. You will need to add your `ZEEBE_CLIENT_ID`, `ZEEBE_CLIENT_SECRET`, `ZEEBE_BASE_URL`, and `ZEEBE_AUDIENCE`, which is `zeebe.camunda.io` in a Camunda 8 SaaS environment. For example, your audience may be defined as `ZEEBE_AUDIENCE=zeebe.camunda.io`. - -These keys will be consumed by the `auth.js` file to execute the OAuth protocol, and should be saved when you generate your client credentials in [prerequisites](#prerequisites). - -Examine the existing `.env.example` file for an example of how your `.env` file should look upon completion. Do not place your credentials in the `.env.example` file, as this example file is not protected by the `.gitignore`. - -:::note - -In this tutorial, we will execute arguments to assign and unassign a user to and from a Zeebe user task. You can examine the framework for processing these arguments in the `cli.js` file before getting started. - -::: - -## Assign a Zeebe user task (POST) - -:::note -In this tutorial, you will capture a **Zeebe user task** ID to assign and unassign users in this API. Camunda 8.5 introduced this new [user task](/components/modeler/bpmn/user-tasks/user-tasks.md) implementation type, and these Zeebe user tasks are different from job worker-based user tasks. See more details on task type differences in the [migrating to Zeebe user tasks documentation](/apis-tools/migration-manuals/migrate-to-zeebe-user-tasks.md#task-type-differences). -::: - -First, let's script an API call to assign a Zeebe user task. - -To do this, take the following steps: - -1. In the file named `zeebe.js`, outline the authentication and authorization configuration in the first few lines. This will pull in your `.env` variables to obtain an access token before making any API calls: - -```javascript -const authorizationConfiguration = { - clientId: process.env.ZEEBE_CLIENT_ID, - clientSecret: process.env.ZEEBE_CLIENT_SECRET, - audience: process.env.ZEEBE_AUDIENCE, -}; -``` - -2. Examine the function `async function assignUser([userTaskKey, assignee])` below this configuration. This is where you will script out your API call. -3. Within the function, you must first generate an access token for this request, so your function should now look like the following: - -```javascript -async function assignUser([userTaskKey, assignee]) { - const accessToken = await getAccessToken(authorizationConfiguration); -} -``` - -4. Using your generated client credentials from [prerequisites](#prerequisites), capture your Zeebe API URL beneath your call for an access token by defining `zeebeApiUrl`: - -`const zeebeApiUrl = process.env.ZEEBE_BASE_URL` - -5. On the next line, script the API endpoint to assign a Zeebe user task.: - -```javascript -const url = `${ZeebeApiUrl}/user-tasks/${userTaskKey}/assignment`; -``` - -6. Configure your POST request to the appropriate endpoint, including an authorization header based on the previously acquired `accessToken`: - -```javascript -const options = { - method: "POST", - url, - headers: { - Accept: "application/json", - Authorization: `Bearer ${accessToken}`, - }, - data: { - // The body contains information about the new assignment. - assignee: assignee, - }, -}; -``` - -7. Call the assign endpoint, process the results from the API call, and emit an error message from the server if necessary: - -```javascript -try { - // Call the assign endpoint. - const response = await axios(options); - - // Process the results from the API call. - if (response.status === 204) { - console.log(`User task assigned to ${assignee}.`); - } else { - // Emit an unexpected error message. - console.error("Unable to assign this user!"); - } -} catch (error) { - // Emit an error from the server. - console.error(error.message); -} -``` - -8. In your terminal, run `node cli.js zeebe assign `, where `` is the Zeebe user task ID you've captured from Tasklist, and `` is the assignee's email address. Include your own email address if you would like to see these results in your user interface. - -:::note -This `assign` command is connected to the `assignUser` function at the bottom of the `zeebe.js` file, and executed by the `cli.js` file. While we will assign and unassign users in this tutorial, you may add additional arguments depending on the API calls you would like to make. -::: - -If you have a valid user and task ID, the assignment will now output. If you have an invalid API name or action name, or no arguments provided, or improper/insufficient credentials configured, an error message will output as outlined in the `cli.js` file. If no action is provided, it will default to "assign" everywhere, except when unassigning a user. - -## Unassign a Zeebe user task (DELETE) - -To unassign a user from a Zeebe user task, you can use the same Zeebe user task ID from the previous exercise and take the following steps: - -1. Outline your function, similar to the steps above: - -```javascript -async function unassignUser([userTaskKey]) { - const accessToken = await getAccessToken(authorizationConfiguration); - - const ZeebeApiUrl = process.env.ZEEBE_BASE_URL; - - const url = `${ZeebeApiUrl}/user-tasks/${userTaskKey}/assignee`; -} -``` - -2. Configure the API call using the DELETE method: - -```javascript -const options = { - method: "DELETE", - url, - headers: { - Accept: "application/json", - Authorization: `Bearer ${accessToken}`, - }, -}; -``` - -3. Process the results from the API call. For example: - -```javascript -try { - // Call the delete endpoint. - const response = await axios(options); - - // Process the results from the API call. - if (response.status === 204) { - console.log("User task has been unassigned!"); - } else { - // Emit an unexpected error message. - console.error("Unable to unassign this user task!"); - } -} catch (error) { - // Emit an error from the server. - console.error(error.message); -} -``` - -4. In your terminal, run `node cli.js zeebe unassign `, where `` is the Zeebe user task ID. - -## If you get stuck - -Having trouble configuring your API calls or want to examine an example of the completed tutorial? Navigate to the `completed` folder in the [GitHub repository](https://github.com/camunda/camunda-api-tutorials/tree/main/completed), where you can view an example `zeebe.js` file. - -## Next steps - -You can script several additional API calls as outlined in the [Zeebe API reference material](./zeebe-api-rest-overview.md). diff --git a/docs/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md b/docs/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md deleted file mode 100644 index b5f444e4a52..00000000000 --- a/docs/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md +++ /dev/null @@ -1,139 +0,0 @@ ---- -id: zeebe-api-rest-authentication -title: "Authentication" -description: "Describes authentication options that can be used to access Zeebe REST API." ---- - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; - -All Zeebe REST API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request. - -## Generate a token - - - - -1. [Create client credentials](/guides/setup-client-connection-credentials.md) in the **Clusters > Cluster name > API** tab of [Camunda Console](https://console.camunda.io/). -2. Add permissions to this client for **Zeebe**. -3. Once you have created the client, capture the following values required to generate a token: - - | Name | Environment variable name | Default value | - | ------------------------ | -------------------------------- | -------------------------------------------- | - | Client ID | `ZEEBE_CLIENT_ID` | - | - | Client Secret | `ZEEBE_CLIENT_SECRET` | - | - | Authorization Server URL | `ZEEBE_AUTHORIZATION_SERVER_URL` | `https://login.cloud.camunda.io/oauth/token` | - | Audience | `ZEEBE_TOKEN_AUDIENCE` | `zeebe.camunda.io` | - | Optimize REST Address | `ZEEBE_REST_ADDRESS` | - | - - :::caution - When client credentials are created, the `Client Secret` is only shown once. Save this `Client Secret` somewhere safe. - ::: -4. Execute an authentication request to the token issuer: - ```bash - curl --request POST ${ZEEBE_AUTHORIZATION_SERVER_URL} \ - --header 'Content-Type: application/x-www-form-urlencoded' \ - --data-urlencode 'grant_type=client_credentials' \ - --data-urlencode "audience=${ZEEBE_TOKEN_AUDIENCE}" \ - --data-urlencode "client_id=${ZEEBE_CLIENT_ID}" \ - --data-urlencode "client_secret=${ZEEBE_CLIENT_SECRET}" - ``` - A successful authentication response looks like the following: - ```json - { - "access_token": "", - "expires_in": 300, - "refresh_expires_in": 0, - "token_type": "Bearer", - "not-before-policy": 0 - } - ``` -5. Capture the value of the `access_token` property and store it as your token. - - - - - -1. [Add an M2M application in Identity](/self-managed/identity/user-guide/additional-features/incorporate-applications.md). -2. [Add permissions to this application](/self-managed/identity/user-guide/additional-features/incorporate-applications.md) for **Zeebe API**. -3. Capture the `Client ID` and `Client Secret` from the application in Identity. -4. [Generate a token](/self-managed/identity/user-guide/authorizations/generating-m2m-tokens.md) to access the REST API. Provide the `client_id` and `client_secret` from the values you previously captured in Identity. - ```shell - curl --location --request POST 'http://localhost:18080/auth/realms/camunda-platform/protocol/openid-connect/token' \ - --header 'Content-Type: application/x-www-form-urlencoded' \ - --data-urlencode "client_id=${CLIENT_ID}" \ - --data-urlencode "client_secret=${CLIENT_SECRET}" \ - --data-urlencode 'grant_type=client_credentials' - ``` - A successful authentication response looks like the following: - ```json - { - "access_token": "", - "expires_in": 300, - "refresh_expires_in": 0, - "token_type": "Bearer", - "not-before-policy": 0 - } - ``` -5. Capture the value of the `access_token` property and store it as your token. - - - - - -## Use a token - -Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. - -For example, to send a request to the Zeebe REST API's `/topology` endpoint: - - - - - -:::tip -The `${ZEEBE_REST_ADDRESS}` variable below represents the URL of the Zeebe REST API. You can capture this URL when creating an API client. You can also construct it as `https://${REGION}.zeebe.camunda.io/${CLUSTER_ID}/`. -::: - - - - - -:::tip -The `${ZEEBE_REST_ADDRESS}` variable below represents the URL of the Zeebe REST API. You can configure this value in your Self-Managed installation. The default value is `http://localhost:8080/`. -::: - - - - - -```shell -curl --header "Authorization: Bearer ${TOKEN}" \ - ${ZEEBE_REST_ADDRESS}/v1/topology -``` - -A successful response includes [information about the cluster](/apis-tools/zeebe-api-rest/specifications/get-cluster-topology.api.mdx). For example: - -```json -{ - "brokers": [ - ... - ], - "clusterSize": 3, - "partitionsCount": 3, - "replicationFactor": 3, - "gatewayVersion": "8.6.0" -} -``` - -## Token expiration - -Access tokens expire according to the `expires_in` property of a successful authentication response. After this duration, in seconds, you must request a new access token. diff --git a/docs/apis-tools/zeebe-api-rest/zeebe-api-rest-overview.md b/docs/apis-tools/zeebe-api-rest/zeebe-api-rest-overview.md deleted file mode 100644 index 0c8473dd07c..00000000000 --- a/docs/apis-tools/zeebe-api-rest/zeebe-api-rest-overview.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -id: zeebe-api-rest-overview -title: "Overview" -description: "Interact with Zeebe clusters. Run user task state operations for Zeebe user tasks." ---- - -## Introduction - -The Zeebe REST API is a REST API designed to interact with the Zeebe process automation engine. - -:::note -Ensure you [authenticate](./zeebe-api-rest-authentication.md) before accessing the Zeebe REST API. -::: - -## Context paths - -For SaaS: `https://${REGION}.zeebe.camunda.io:443/${CLUSTER_ID}/v1/`, and for Self-Managed installations: `http://localhost:8080/v1/`. - -:::note -Find your region and cluster id under **Connection information** in your client credentials (revealed when you click on your client under the **API** tab within your cluster). - -For Self-Managed, the host and port depend on your configuration. The context path mentioned here is the default for the Zeebe component. -::: - -## API Explorer - -See [the interactive Zeebe REST API Explorer][zeebe-api-explorer] for specifications, example requests and responses, and code samples of interacting with the Tasklist REST API. - -[zeebe-api-explorer]: ./specifications/zeebe-rest-api.info.mdx diff --git a/docs/components/console/manage-clusters/manage-api-clients.md b/docs/components/console/manage-clusters/manage-api-clients.md index bd1c4de41e8..d5753278548 100644 --- a/docs/components/console/manage-clusters/manage-api-clients.md +++ b/docs/components/console/manage-clusters/manage-api-clients.md @@ -42,7 +42,7 @@ When the rate limit is triggered, the client will receive an HTTP 429 response. Currently, Camunda 8 SaaS supports the following scopes: -- Zeebe - Access to the [Zeebe gRPC](/apis-tools/zeebe-api/grpc.md) and [REST](/apis-tools/zeebe-api-rest/zeebe-api-rest-overview.md) APIs. +- Zeebe - Access to the [Zeebe gRPC](/apis-tools/zeebe-api/grpc.md) and [REST](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md) APIs. - Tasklist - Access to the [Tasklist GraphQL](/apis-tools/tasklist-api/tasklist-api-overview.md) API. - Operate - Access to the [Operate REST API](/apis-tools/operate-api/overview.md). - Optimize - Access to the [Optimize REST API]($optimize$/apis-tools/optimize-api/overview). diff --git a/docs/components/zeebe/technical-concepts/architecture.md b/docs/components/zeebe/technical-concepts/architecture.md index 18487a401ed..3a0d3e1f936 100644 --- a/docs/components/zeebe/technical-concepts/architecture.md +++ b/docs/components/zeebe/technical-concepts/architecture.md @@ -36,7 +36,7 @@ Client applications can be scaled up and down separately from Zeebe. The Zeebe b Clients are libraries you embed in an application (e.g. a microservice that executes your business logic) to connect to a Zeebe cluster. -Clients connect to the Zeebe Gateway via a mix of REST and [gRPC](https://grpc.io). While REST can be served over any HTTP version, the gRPC part of the API requires an HTTP/2-based transport. To learn more about how REST is used in Zeebe, review the [Zeebe API (REST)](/apis-tools/zeebe-api-rest/zeebe-api-rest-overview.md). To learn more about gRPC in Zeebe, review the [Zeebe API (gRPC)](/apis-tools/zeebe-api/grpc.md). +Clients connect to the Zeebe Gateway via a mix of REST and [gRPC](https://grpc.io). While REST can be served over any HTTP version, the gRPC part of the API requires an HTTP/2-based transport. To learn more about how REST is used in Zeebe, review the [Camunda API](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md). To learn more about gRPC in Zeebe, review the [Zeebe API (gRPC)](/apis-tools/zeebe-api/grpc.md). The Zeebe project includes officially-supported Java and Go clients. [Community clients](/apis-tools/community-clients/index.md) have been created in other languages, including C#, Ruby, and JavaScript. Thanks to code generators for gRPC and the OpenAPI spec, it is possible to [generate clients](/apis-tools/build-your-own-client.md) in a range of different programming languages. diff --git a/docs/guides/setup-client-connection-credentials.md b/docs/guides/setup-client-connection-credentials.md index 00200bdc22a..18301f74c79 100644 --- a/docs/guides/setup-client-connection-credentials.md +++ b/docs/guides/setup-client-connection-credentials.md @@ -13,7 +13,7 @@ Here, we'll set up client connection credentials to create, name, and connect yo Currently, Camunda 8 SaaS supports the following scopes: -- Zeebe - Access to the [Zeebe gRPC](/apis-tools/zeebe-api/grpc.md) and [REST](/apis-tools/zeebe-api-rest/zeebe-api-rest-overview.md) APIs. +- Zeebe - Access to the [Zeebe gRPC](/apis-tools/zeebe-api/grpc.md) and [REST](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md) APIs. - Tasklist - Access to the [Tasklist GraphQL](/apis-tools/tasklist-api/tasklist-api-overview.md) API. - Operate - Access to the [Operate REST API](/apis-tools/operate-api/overview.md). - Optimize - Access to the [Optimize REST API]($optimize$/apis-tools/optimize-api/overview). diff --git a/docs/self-managed/zeebe-deployment/operations/management-api.md b/docs/self-managed/zeebe-deployment/operations/management-api.md index dce07ca6696..d35d167131d 100644 --- a/docs/self-managed/zeebe-deployment/operations/management-api.md +++ b/docs/self-managed/zeebe-deployment/operations/management-api.md @@ -7,7 +7,7 @@ description: "The Zeebe Gateway also exposes an HTTP endpoint for cluster manage import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; -Besides the [REST](/apis-tools/zeebe-api-rest/zeebe-api-rest-overview.md) and [gRPC API](/apis-tools/zeebe-api/grpc.md) for process instance execution, the Zeebe Gateway also exposes an HTTP endpoint for cluster management operations. This API is not expected to be used by a typical user, but by a privileged user such as a cluster administrator. It is exposed via a different port and configured using configuration `management.server.port` (or via environment variable `MANAGEMENT_SERVER_PORT`). By default, this is set to `9600`. +Besides the [REST](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md) and [gRPC API](/apis-tools/zeebe-api/grpc.md) for process instance execution, the Zeebe Gateway also exposes an HTTP endpoint for cluster management operations. This API is not expected to be used by a typical user, but by a privileged user such as a cluster administrator. It is exposed via a different port and configured using configuration `management.server.port` (or via environment variable `MANAGEMENT_SERVER_PORT`). By default, this is set to `9600`. The API is a custom endpoint available via [Spring Boot Actuator](https://docs.spring.io/spring-boot/docs/current/reference/html/actuator.html#actuator.endpoints). For additional configurations such as security, refer to the Spring Boot documentation. diff --git a/docusaurus.config.js b/docusaurus.config.js index 0c8869903ce..a90cf5de490 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -100,24 +100,6 @@ module.exports = { }, }, ], - [ - // Zeebe REST API docs generation - "docusaurus-plugin-openapi-docs", - { - id: "api-zeebe-openapi", - docsPluginId: "default", - config: { - zeebe: { - specPath: "api/zeebe/zeebe-openapi.yaml", - outputDir: "docs/apis-tools/zeebe-api-rest/specifications", - sidebarOptions: { - groupPathsBy: "tag", - }, - hideSendButton: true, - }, - }, - }, - ], [ // Zeebe REST API docs generation "docusaurus-plugin-openapi-docs", diff --git a/optimize_sidebars.js b/optimize_sidebars.js index da4c8161e46..fc2214ed09e 100644 --- a/optimize_sidebars.js +++ b/optimize_sidebars.js @@ -2227,62 +2227,6 @@ module.exports = { }, ], }, - - { - "Zeebe API (REST)": [ - docsLink( - "Overview", - "apis-tools/zeebe-api-rest/zeebe-api-rest-overview/" - ), - docsLink( - "Authentication", - "apis-tools/zeebe-api-rest/zeebe-api-rest-authentication/" - ), - docsLink( - "Tutorial", - "apis-tools/zeebe-api-rest/zeebe-api-tutorial/" - ), - - { - Specifications: [ - docsLink( - "Introduction", - "apis-tools/zeebe-api-rest/specifications/zeebe-rest-api/" - ), - - { - Cluster: [ - docsLink( - "Get cluster topology", - "apis-tools/zeebe-api-rest/specifications/get-cluster-topology/" - ), - ], - }, - - { - "User task": [ - docsLink( - "Complete a user task", - "apis-tools/zeebe-api-rest/specifications/complete-a-user-task/" - ), - docsLink( - "Assign a user task", - "apis-tools/zeebe-api-rest/specifications/assign-a-user-task/" - ), - docsLink( - "Update a user task", - "apis-tools/zeebe-api-rest/specifications/update-a-user-task/" - ), - docsLink( - "Unassign a user task", - "apis-tools/zeebe-api-rest/specifications/unassign-a-user-task/" - ), - ], - }, - ], - }, - ], - }, ], }, ], diff --git a/sidebars.js b/sidebars.js index a0a051088da..edd1d995612 100644 --- a/sidebars.js +++ b/sidebars.js @@ -807,7 +807,6 @@ module.exports = { { Deprecated: [ require("./docs/apis-tools/tasklist-api/sidebar-schema"), - require("./docs/apis-tools/zeebe-api-rest/sidebar-schema"), ], }, ], diff --git a/static/.htaccess b/static/.htaccess index 5455aece446..d0fdc799642 100644 --- a/static/.htaccess +++ b/static/.htaccess @@ -95,6 +95,12 @@ RewriteRule ^docs/reference/bpmn-processes/?(.*)$ /docs/components/modeler/bpmn/ # 8.7: content moves introduced prior to the release of version 8.7. #--------------------------------------------------------------------------------- +# Remove Zeebe REST API +RewriteRule ^docs/next/apis-tools/zeebe-api-rest/specifications/?$ /docs/next/apis-tools/camunda-api-rest/specifications/$1 [R=301,L] +RewriteRule ^docs/next/apis-tools/zeebe-api-rest/zeebe-api-rest-overview/?$ /docs/next/apis-tools/camunda-api-rest/camunda-api-rest-overview/$1 [R=301,L] +RewriteRule ^docs/next/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication/?$ /docs/next/apis-tools/camunda-api-rest/camunda-api-rest-authentication/$1 [R=301,L] +RewriteRule ^docs/next/apis-tools/zeebe-api-rest/zeebe-api-tutorial/?$ /docs/next/apis-tools/camunda-api-rest/camunda-api-rest-overview/$1 [R=301,L] + # Move migrating to Zeebe user tasks RewriteRule ^docs/next/apis-tools/tasklist-api-rest/migrate-to-zeebe-user-tasks/?$ /docs/next/apis-tools/migration-manuals/migrate-to-zeebe-user-tasks/$1 [R=301,L] RewriteRule ^docs/apis-tools/tasklist-api-rest/migrate-to-zeebe-user-tasks/?$ /docs/apis-tools/migration-manuals/migrate-to-zeebe-user-tasks/$1 [R=301,L] diff --git a/versioned_docs/version-8.5/apis-tools/community-clients/spring.md b/versioned_docs/version-8.5/apis-tools/community-clients/spring.md index 11665bc5f19..b2d4cb0e7e0 100644 --- a/versioned_docs/version-8.5/apis-tools/community-clients/spring.md +++ b/versioned_docs/version-8.5/apis-tools/community-clients/spring.md @@ -4,7 +4,7 @@ title: "Spring" --- :::note -This is a community offering. For our officially-supported offering, review Camunda's [Spring Zeebe SDK](/apis-tools/spring-zeebe-sdk/getting-started.md) to leverage Zeebe APIs ([gRPC](docs/apis-tools/zeebe-api/grpc.md) and [REST](docs/apis-tools/zeebe-api-rest/zeebe-api-rest-overview.md)) in your Spring Boot project. +This is a community offering. For our officially-supported offering, review Camunda's [Spring Zeebe SDK](/apis-tools/spring-zeebe-sdk/getting-started.md) to leverage Zeebe APIs ([gRPC](docs/apis-tools/zeebe-api/grpc.md) and [REST](/apis-tools/zeebe-api-rest/zeebe-api-rest-overview.md)) in your Spring Boot project. ::: The Spring integration is a community extension that allows you to easily leverage Zeebe within your Spring or Spring Boot environment. diff --git a/versioned_docs/version-8.5/apis-tools/tasklist-api-rest/migrate-to-zeebe-user-tasks.md b/versioned_docs/version-8.5/apis-tools/tasklist-api-rest/migrate-to-zeebe-user-tasks.md index 548529ec364..74c98363912 100644 --- a/versioned_docs/version-8.5/apis-tools/tasklist-api-rest/migrate-to-zeebe-user-tasks.md +++ b/versioned_docs/version-8.5/apis-tools/tasklist-api-rest/migrate-to-zeebe-user-tasks.md @@ -373,7 +373,7 @@ docId:"apis-tools/tasklist-api-rest/tasklist-api-rest-overview" }, { type:"link", -href:"/docs/next/apis-tools/zeebe-api-rest/zeebe-api-rest-overview/", +href:"/docs/8.5/apis-tools/zeebe-api-rest/zeebe-api-rest-overview/", label: "Zeebe API (REST)", docId:"apis-tools/zeebe-api-rest/zeebe-api-rest-overview" } From 0398ff3f6aab91dc515d35adc12de50441446b44 Mon Sep 17 00:00:00 2001 From: christinaausley <84338309+christinaausley@users.noreply.github.com> Date: Tue, 17 Dec 2024 14:51:40 -0500 Subject: [PATCH 4/5] clarify when automatic fetch occurs (#4783) --- docs/components/modeler/desktop-modeler/use-connectors.md | 2 +- .../components/modeler/desktop-modeler/use-connectors.md | 2 +- .../components/modeler/desktop-modeler/use-connectors.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/components/modeler/desktop-modeler/use-connectors.md b/docs/components/modeler/desktop-modeler/use-connectors.md index 921b5c0f693..6a0f28ee837 100644 --- a/docs/components/modeler/desktop-modeler/use-connectors.md +++ b/docs/components/modeler/desktop-modeler/use-connectors.md @@ -12,7 +12,7 @@ Desktop Modeler automatically fetches and updates [element templates](./element- ## Automatic Connector template fetching -Automatic Connector template fetching is enabled by default, and notifies you of any updates or errors. +Automatic Connector template fetching is enabled by default, and notifies you of any updates or errors. The fetch is triggered whenever you start the application, or every 24 hours if the application is not closed. After an update check has concluded, a notification indicates if the templates are up to date or have been updated: diff --git a/versioned_docs/version-8.5/components/modeler/desktop-modeler/use-connectors.md b/versioned_docs/version-8.5/components/modeler/desktop-modeler/use-connectors.md index 921b5c0f693..6a0f28ee837 100644 --- a/versioned_docs/version-8.5/components/modeler/desktop-modeler/use-connectors.md +++ b/versioned_docs/version-8.5/components/modeler/desktop-modeler/use-connectors.md @@ -12,7 +12,7 @@ Desktop Modeler automatically fetches and updates [element templates](./element- ## Automatic Connector template fetching -Automatic Connector template fetching is enabled by default, and notifies you of any updates or errors. +Automatic Connector template fetching is enabled by default, and notifies you of any updates or errors. The fetch is triggered whenever you start the application, or every 24 hours if the application is not closed. After an update check has concluded, a notification indicates if the templates are up to date or have been updated: diff --git a/versioned_docs/version-8.6/components/modeler/desktop-modeler/use-connectors.md b/versioned_docs/version-8.6/components/modeler/desktop-modeler/use-connectors.md index 921b5c0f693..6a0f28ee837 100644 --- a/versioned_docs/version-8.6/components/modeler/desktop-modeler/use-connectors.md +++ b/versioned_docs/version-8.6/components/modeler/desktop-modeler/use-connectors.md @@ -12,7 +12,7 @@ Desktop Modeler automatically fetches and updates [element templates](./element- ## Automatic Connector template fetching -Automatic Connector template fetching is enabled by default, and notifies you of any updates or errors. +Automatic Connector template fetching is enabled by default, and notifies you of any updates or errors. The fetch is triggered whenever you start the application, or every 24 hours if the application is not closed. After an update check has concluded, a notification indicates if the templates are up to date or have been updated: From 6ad2709a5178866583acf1748fcb3826fcba13e2 Mon Sep 17 00:00:00 2001 From: Cole Isaac <82131455+conceptualshark@users.noreply.github.com> Date: Tue, 17 Dec 2024 15:05:43 -0500 Subject: [PATCH 5/5] Clarify SM Web Modeler cluster config requirement (#4775) --- .../modeler/web-modeler/configuration/configuration.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/self-managed/modeler/web-modeler/configuration/configuration.md b/docs/self-managed/modeler/web-modeler/configuration/configuration.md index 0fa011b7f38..5585791bf52 100644 --- a/docs/self-managed/modeler/web-modeler/configuration/configuration.md +++ b/docs/self-managed/modeler/web-modeler/configuration/configuration.md @@ -20,7 +20,9 @@ import Licensing from '../../../../self-managed/react-components/licensing.md' ### Clusters -Clusters configured using the following options can be selected when deploying from Web Modeler. If no clusters are configured, you will not be able to preform any actions that require a cluster (for example, deploy, start an instance, or Play a process). The Camunda 8 [Helm](/self-managed/setup/install.md) and [Docker Compose](/self-managed/setup/deploy/local/docker-compose.md) distributions provide a local Zeebe cluster configured by default. +Clusters must be configured using the following options to access the cluster from within Web Modeler. If no clusters are configured, you will not be able to perform any actions that require a cluster (for example, deploy, start an instance, or Play a process). + +The Camunda 8 [Helm](/self-managed/setup/install.md) and [Docker Compose](/self-managed/setup/deploy/local/docker-compose.md) distributions provide a local Zeebe cluster configured by default. To add additional clusters, increment the `0` value for each variable (`CAMUNDA_MODELER_CLUSTERS_1_NAME`).