@camunda/e2e-test-suite 0.0.971 → 0.0.973

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,6 +25,9 @@ declare class ModelerCreatePage {
25
25
  readonly additionalActionsButton: Locator;
26
26
  readonly cancelButton: Locator;
27
27
  readonly restConnectorOption: Locator;
28
+ readonly changeElementSearchInput: Locator;
29
+ readonly changeElementTabStrip: Locator;
30
+ readonly reusableAssetsTab: Locator;
28
31
  readonly webhookMessageStartEventConnectorOption: Locator;
29
32
  readonly webhookTab: Locator;
30
33
  readonly webhookIsActiveButton: Locator;
@@ -156,6 +159,8 @@ declare class ModelerCreatePage {
156
159
  clickNewForm(): Promise<void>;
157
160
  clickDeploySubButton(): Promise<void>;
158
161
  clickCancelButton(): Promise<void>;
162
+ private waitForVisible;
163
+ revealChangeElementTemplate(option: Locator, searchTerm: string): Promise<void>;
159
164
  clickRestConnectorOption(): Promise<void>;
160
165
  clickWebhookStartEventConnectorOption(): Promise<void>;
161
166
  clickWebhookTab(): Promise<void>;
@@ -31,6 +31,9 @@ class ModelerCreatePage {
31
31
  additionalActionsButton;
32
32
  cancelButton;
33
33
  restConnectorOption;
34
+ changeElementSearchInput;
35
+ changeElementTabStrip;
36
+ reusableAssetsTab;
34
37
  webhookMessageStartEventConnectorOption;
35
38
  webhookTab;
36
39
  webhookIsActiveButton;
@@ -170,6 +173,17 @@ class ModelerCreatePage {
170
173
  this.deploySubButton = page.locator('[data-test="deploy-action"]');
171
174
  this.cancelButton = page.getByRole('button', { name: 'Cancel' });
172
175
  this.restConnectorOption = page.locator('[data-id="replace.template-io.camunda.connectors.HttpJson.v2"]');
176
+ this.changeElementSearchInput = page.locator('.djs-popup-search input');
177
+ this.changeElementTabStrip = page.locator('.djs-popup-tabs-container');
178
+ // The tab renders its label as text content, which wins over its `title`
179
+ // attribute in the accessible-name computation. Match case-insensitively:
180
+ // the label is capitalised differently across bpmn-js releases. Scope the
181
+ // lookup to the popup's own tab strip -- the properties panel renders its
182
+ // own tablist (see webhookTab below), so an unscoped tab query is
183
+ // ambiguous.
184
+ this.reusableAssetsTab = this.changeElementTabStrip.getByRole('tab', {
185
+ name: /reusable assets/i,
186
+ });
173
187
  // bpmn-js popup entries are `li[role="option"]` inside a `role="listbox"`,
174
188
  // so getByRole('listitem') no longer matches. Their accessible name also
175
189
  // includes the entry description, and three entries share the label
@@ -734,11 +748,53 @@ class ModelerCreatePage {
734
748
  async clickCancelButton() {
735
749
  await this.cancelButton.click({ timeout: 60000 });
736
750
  }
751
+ // `waitFor` actually blocks up to the timeout; `isVisible()` would return
752
+ // immediately and report false while the popup is still rendering.
753
+ async waitForVisible(locator, timeout) {
754
+ return locator
755
+ .first()
756
+ .waitFor({ state: 'visible', timeout })
757
+ .then(() => true)
758
+ .catch(() => false);
759
+ }
760
+ // The change-element popup is now tabbed: every `replace.template-*` entry
761
+ // is assigned to the "Reusable Assets" tab, so connector templates are not
762
+ // in the DOM at all while the default "BPMN" tab is selected - which is why
763
+ // the template locators time out with `<element(s) not found>`.
764
+ // Opening that tab is version-tolerant: on an untabbed popup the strip is
765
+ // absent and this is a no-op.
766
+ // Search is the fallback, because it spans the full entry set across every
767
+ // tab. It must be typed with `pressSequentially`: the popup's search input
768
+ // is uncontrolled and its state is written by a `keyup` handler only, so
769
+ // `fill()` (which dispatches `input` alone) never applies the filter.
770
+ async revealChangeElementTemplate(option, searchTerm) {
771
+ if (await this.waitForVisible(option, 5000)) {
772
+ return;
773
+ }
774
+ if (await this.waitForVisible(this.changeElementTabStrip, 5000)) {
775
+ // Do not throw: a failed tab click leaves the search fallback below
776
+ // intact, and search alone is enough on an untabbed popup.
777
+ await this.reusableAssetsTab.click({ timeout: 30000 }).catch(() => { });
778
+ if (await this.waitForVisible(option, 15000)) {
779
+ return;
780
+ }
781
+ }
782
+ if (!(await this.waitForVisible(this.changeElementSearchInput, 5000))) {
783
+ return;
784
+ }
785
+ await this.changeElementSearchInput.click();
786
+ await this.changeElementSearchInput.fill('');
787
+ await this.changeElementSearchInput.pressSequentially(searchTerm, {
788
+ delay: 50,
789
+ });
790
+ }
737
791
  async clickRestConnectorOption() {
738
- await (0, test_1.expect)(this.restConnectorOption).toBeVisible({ timeout: 15000 });
792
+ await this.revealChangeElementTemplate(this.restConnectorOption, 'REST');
793
+ await (0, test_1.expect)(this.restConnectorOption).toBeVisible({ timeout: 90000 });
739
794
  await this.restConnectorOption.click();
740
795
  }
741
796
  async clickWebhookStartEventConnectorOption() {
797
+ await this.revealChangeElementTemplate(this.webhookMessageStartEventConnectorOption, 'Webhook');
742
798
  await this.webhookMessageStartEventConnectorOption.click({ timeout: 60000 });
743
799
  }
744
800
  async clickWebhookTab() {
@@ -991,6 +1047,7 @@ class ModelerCreatePage {
991
1047
  await this.intermediateBoundaryEvent.click({ timeout: 60000 });
992
1048
  }
993
1049
  async clickIntermediateWebhookConnectorOption() {
1050
+ await this.revealChangeElementTemplate(this.intermediateWebhookConnectorOption, 'Webhook');
994
1051
  await this.intermediateWebhookConnectorOption.click({ timeout: 60000 });
995
1052
  }
996
1053
  async clickCorrelationKeyProcessInput() {
@@ -510,8 +510,13 @@ async function modelAndRunConnectorsDocHandlingDiagram(modelerCreatePage, modele
510
510
  await modelerHomePage.clickCrossComponentProjectFolder();
511
511
  await modelerHomePage.clickDiagramTypeDropdown();
512
512
  await modelerHomePage.clickUploadFilesButton();
513
- await (0, fileUpload_1.uploadFile)(page, 'SM_Document_Handling_Connectors_User_Flow.bpmn');
514
- await modelerHomePage.clickProcessDiagram('SM_Document_Handling_Connectors_User_Flow');
513
+ // 8.10-scoped copy of the fixture: it pins the REST connector element
514
+ // template version the Marketplace serves for 8.10 (v17, engines ^8.10) and
515
+ // declares Camunda 8.10 as the execution platform. SM-8.8/SM-8.9 keep the
516
+ // unsuffixed fixture, whose v15 pin still matches the template line their
517
+ // clusters accept.
518
+ await (0, fileUpload_1.uploadFile)(page, 'SM_8.10_Document_Handling_Connectors_User_Flow.bpmn');
519
+ await modelerHomePage.clickProcessDiagram('SM_8.10_Document_Handling_Connectors_User_Flow');
515
520
  await modelerCreatePage.clickDiagramBreadcrumb();
516
521
  await modelerCreatePage.clickEditDiagramNameButton();
517
522
  await modelerCreatePage.enterDiagramName(processName);
@@ -0,0 +1,297 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:color="http://www.omg.org/spec/BPMN/non-normative/color/1.0" xmlns:zeebe="http://camunda.org/schema/zeebe/1.0" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Web Modeler" exporterVersion="f0d285d" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="8.10.0">
3
+ <bpmn:process id="SM_Document_Handling_Connectors_User_Flow" name="SM_Document_Handling_Connectors_User_Flow" isExecutable="true">
4
+ <bpmn:serviceTask id="Activity_0k0vloc" name="Ask Zeebe if doc can be found" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
5
+ <bpmn:extensionElements>
6
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
7
+ <zeebe:ioMapping>
8
+ <zeebe:input source="oauth-client-credentials-flow" target="authentication.type" />
9
+ <zeebe:input source="" target="authentication.oauthTokenEndpoint" />
10
+ <zeebe:input source="=zeebeClientId" target="authentication.clientId" />
11
+ <zeebe:input source="=zeebeSecret" target="authentication.clientSecret" />
12
+ <zeebe:input source="orchestration-api" target="authentication.audience" />
13
+ <zeebe:input source="credentialsBody" target="authentication.clientAuthentication" />
14
+ <zeebe:input source="GET" target="method" />
15
+ <zeebe:input source="=zeebeRestAdress+&#34;/v2/documents/&#34;+doc.documentId+&#34;?contentHash=&#34;+doc.contentHash" target="url" />
16
+ <zeebe:input source="=false" target="storeResponse" />
17
+ <zeebe:input source="20" target="connectionTimeoutInSeconds" />
18
+ <zeebe:input source="20" target="readTimeoutInSeconds" />
19
+ <zeebe:input source="=false" target="ignoreNullValues" />
20
+ </zeebe:ioMapping>
21
+ <zeebe:taskHeaders>
22
+ <zeebe:header key="elementTemplateVersion" value="17" />
23
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
24
+ <zeebe:header key="resultVariable" value="GetDocUpload" />
25
+ <zeebe:header key="retryBackoff" value="PT0S" />
26
+ </zeebe:taskHeaders>
27
+ </bpmn:extensionElements>
28
+ <bpmn:incoming>Flow_1dw6w1f</bpmn:incoming>
29
+ <bpmn:outgoing>Flow_1p8vgwu</bpmn:outgoing>
30
+ </bpmn:serviceTask>
31
+ <bpmn:serviceTask id="Activity_0jxgggi" name="Download &#38; store Image as &#39;doc&#39; storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
32
+ <bpmn:extensionElements>
33
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
34
+ <zeebe:ioMapping>
35
+ <zeebe:input source="noAuth" target="authentication.type" />
36
+ <zeebe:input source="GET" target="method" />
37
+ <zeebe:input source="https://cdn.sanity.io/images/12wkat9h/development/dd36e88c2139b0a9d5a8997cacf694f2fcd701bf-600x600.jpg" target="url" />
38
+ <zeebe:input source="=true" target="storeResponse" />
39
+ <zeebe:input source="=20" target="connectionTimeoutInSeconds" />
40
+ <zeebe:input source="=20" target="readTimeoutInSeconds" />
41
+ <zeebe:input source="=false" target="ignoreNullValues" />
42
+ </zeebe:ioMapping>
43
+ <zeebe:taskHeaders>
44
+ <zeebe:header key="elementTemplateVersion" value="17" />
45
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
46
+ <zeebe:header key="resultExpression" value="={doc:document}" />
47
+ <zeebe:header key="retryBackoff" value="PT0S" />
48
+ </zeebe:taskHeaders>
49
+ </bpmn:extensionElements>
50
+ <bpmn:incoming>Flow_0goyus5</bpmn:incoming>
51
+ <bpmn:outgoing>Flow_1dw6w1f</bpmn:outgoing>
52
+ </bpmn:serviceTask>
53
+ <bpmn:serviceTask id="Activity_02hwevk" name="Download from storage to container as &#39;doc2&#39;" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
54
+ <bpmn:extensionElements>
55
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
56
+ <zeebe:ioMapping>
57
+ <zeebe:input source="oauth-client-credentials-flow" target="authentication.type" />
58
+ <zeebe:input source="" target="authentication.oauthTokenEndpoint" />
59
+ <zeebe:input source="=zeebeClientId" target="authentication.clientId" />
60
+ <zeebe:input source="=zeebeSecret" target="authentication.clientSecret" />
61
+ <zeebe:input source="orchestration-api" target="authentication.audience" />
62
+ <zeebe:input source="credentialsBody" target="authentication.clientAuthentication" />
63
+ <zeebe:input source="GET" target="method" />
64
+ <zeebe:input source="=zeebeRestAdress+&#34;/v2/documents/&#34;+doc.documentId+&#34;?contentHash=&#34;+doc.contentHash" target="url" />
65
+ <zeebe:input source="=true" target="storeResponse" />
66
+ <zeebe:input source="20" target="connectionTimeoutInSeconds" />
67
+ <zeebe:input source="20" target="readTimeoutInSeconds" />
68
+ <zeebe:input source="=false" target="ignoreNullValues" />
69
+ </zeebe:ioMapping>
70
+ <zeebe:taskHeaders>
71
+ <zeebe:header key="elementTemplateVersion" value="17" />
72
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
73
+ <zeebe:header key="resultExpression" value="={doc2:document}" />
74
+ <zeebe:header key="retryBackoff" value="PT0S" />
75
+ </zeebe:taskHeaders>
76
+ </bpmn:extensionElements>
77
+ <bpmn:incoming>Flow_1p8vgwu</bpmn:incoming>
78
+ <bpmn:outgoing>Flow_08dt0zd</bpmn:outgoing>
79
+ </bpmn:serviceTask>
80
+ <bpmn:endEvent id="Event_01k2t9k">
81
+ <bpmn:incoming>Flow_0e6wmk9</bpmn:incoming>
82
+ </bpmn:endEvent>
83
+ <bpmn:sequenceFlow id="Flow_08dt0zd" sourceRef="Activity_02hwevk" targetRef="Activity_1oi90zl" />
84
+ <bpmn:sequenceFlow id="Flow_1dw6w1f" sourceRef="Activity_0jxgggi" targetRef="Activity_0k0vloc" />
85
+ <bpmn:sequenceFlow id="Flow_1p8vgwu" sourceRef="Activity_0k0vloc" targetRef="Activity_02hwevk" />
86
+ <bpmn:startEvent id="StartEvent_1">
87
+ <bpmn:extensionElements>
88
+ <zeebe:ioMapping>
89
+ <zeebe:output target="zeebeRestAdress" />
90
+ <zeebe:output target="zeebeSecret" />
91
+ <zeebe:output target="zeebeClientId" />
92
+ </zeebe:ioMapping>
93
+ </bpmn:extensionElements>
94
+ <bpmn:outgoing>Flow_0goyus5</bpmn:outgoing>
95
+ </bpmn:startEvent>
96
+ <bpmn:serviceTask id="Activity_1oi90zl" name="Delete doc in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
97
+ <bpmn:extensionElements>
98
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
99
+ <zeebe:ioMapping>
100
+ <zeebe:input source="oauth-client-credentials-flow" target="authentication.type" />
101
+ <zeebe:input source="" target="authentication.oauthTokenEndpoint" />
102
+ <zeebe:input source="=zeebeClientId" target="authentication.clientId" />
103
+ <zeebe:input source="=zeebeSecret" target="authentication.clientSecret" />
104
+ <zeebe:input source="orchestration-api" target="authentication.audience" />
105
+ <zeebe:input source="credentialsBody" target="authentication.clientAuthentication" />
106
+ <zeebe:input source="DELETE" target="method" />
107
+ <zeebe:input source="=zeebeRestAdress+&#34;/v2/documents/&#34;+doc.documentId+&#34;?contentHash=&#34;+doc.contentHash" target="url" />
108
+ <zeebe:input source="=false" target="storeResponse" />
109
+ <zeebe:input source="20" target="connectionTimeoutInSeconds" />
110
+ <zeebe:input source="20" target="readTimeoutInSeconds" />
111
+ <zeebe:input source="=false" target="ignoreNullValues" />
112
+ </zeebe:ioMapping>
113
+ <zeebe:taskHeaders>
114
+ <zeebe:header key="elementTemplateVersion" value="17" />
115
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
116
+ <zeebe:header key="retryBackoff" value="PT0S" />
117
+ </zeebe:taskHeaders>
118
+ </bpmn:extensionElements>
119
+ <bpmn:incoming>Flow_08dt0zd</bpmn:incoming>
120
+ <bpmn:outgoing>Flow_03pwhjf</bpmn:outgoing>
121
+ </bpmn:serviceTask>
122
+ <bpmn:sequenceFlow id="Flow_03pwhjf" sourceRef="Activity_1oi90zl" targetRef="Gateway_0ilxedq" />
123
+ <bpmn:serviceTask id="Activity_0iyt4gv" name="Upload doc2 in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
124
+ <bpmn:extensionElements>
125
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
126
+ <zeebe:ioMapping>
127
+ <zeebe:input source="oauth-client-credentials-flow" target="authentication.type" />
128
+ <zeebe:input source="" target="authentication.oauthTokenEndpoint" />
129
+ <zeebe:input source="=zeebeClientId" target="authentication.clientId" />
130
+ <zeebe:input source="=zeebeSecret" target="authentication.clientSecret" />
131
+ <zeebe:input source="orchestration-api" target="authentication.audience" />
132
+ <zeebe:input source="credentialsBody" target="authentication.clientAuthentication" />
133
+ <zeebe:input source="POST" target="method" />
134
+ <zeebe:input source="=zeebeRestAdress+&#34;/v2/documents&#34;" target="url" />
135
+ <zeebe:input source="={&#34;Content-Type&#34;: &#34;multipart/form-data&#34;}" target="headers" />
136
+ <zeebe:input source="=false" target="storeResponse" />
137
+ <zeebe:input source="20" target="connectionTimeoutInSeconds" />
138
+ <zeebe:input source="20" target="readTimeoutInSeconds" />
139
+ <zeebe:input source="={&#10; &#34;file&#34;: doc2&#10;}" target="body" />
140
+ <zeebe:input source="=false" target="ignoreNullValues" />
141
+ </zeebe:ioMapping>
142
+ <zeebe:taskHeaders>
143
+ <zeebe:header key="elementTemplateVersion" value="17" />
144
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
145
+ <zeebe:header key="resultVariable" value="uploadDoc2" />
146
+ <zeebe:header key="retryBackoff" value="PT0S" />
147
+ </zeebe:taskHeaders>
148
+ </bpmn:extensionElements>
149
+ <bpmn:incoming>Flow_1991iy9</bpmn:incoming>
150
+ <bpmn:outgoing>Flow_0eopw0m</bpmn:outgoing>
151
+ </bpmn:serviceTask>
152
+ <bpmn:sequenceFlow id="Flow_129y4ib" sourceRef="Gateway_0ilxedq" targetRef="Activity_1oiegam" />
153
+ <bpmn:parallelGateway id="Gateway_0ilxedq">
154
+ <bpmn:incoming>Flow_03pwhjf</bpmn:incoming>
155
+ <bpmn:outgoing>Flow_129y4ib</bpmn:outgoing>
156
+ <bpmn:outgoing>Flow_1991iy9</bpmn:outgoing>
157
+ </bpmn:parallelGateway>
158
+ <bpmn:serviceTask id="Activity_1oiegam" name="Upload batch (2 documents)" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
159
+ <bpmn:extensionElements>
160
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
161
+ <zeebe:ioMapping>
162
+ <zeebe:input source="oauth-client-credentials-flow" target="authentication.type" />
163
+ <zeebe:input source="" target="authentication.oauthTokenEndpoint" />
164
+ <zeebe:input source="=zeebeClientId" target="authentication.clientId" />
165
+ <zeebe:input source="=zeebeSecret" target="authentication.clientSecret" />
166
+ <zeebe:input source="orchestration-api" target="authentication.audience" />
167
+ <zeebe:input source="credentialsBody" target="authentication.clientAuthentication" />
168
+ <zeebe:input source="POST" target="method" />
169
+ <zeebe:input source="=zeebeRestAdress+&#34;/v2/documents/batch&#34;" target="url" />
170
+ <zeebe:input source="={&#34;Content-Type&#34;: &#34;multipart/form-data&#34;}" target="headers" />
171
+ <zeebe:input source="=false" target="storeResponse" />
172
+ <zeebe:input source="20" target="connectionTimeoutInSeconds" />
173
+ <zeebe:input source="20" target="readTimeoutInSeconds" />
174
+ <zeebe:input source="={&#10; &#34;files&#34;: [doc2,doc2]&#10;}" target="body" />
175
+ <zeebe:input source="=false" target="ignoreNullValues" />
176
+ </zeebe:ioMapping>
177
+ <zeebe:taskHeaders>
178
+ <zeebe:header key="elementTemplateVersion" value="17" />
179
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
180
+ <zeebe:header key="resultVariable" value="uploadBatch" />
181
+ <zeebe:header key="retryBackoff" value="PT0S" />
182
+ </zeebe:taskHeaders>
183
+ </bpmn:extensionElements>
184
+ <bpmn:incoming>Flow_129y4ib</bpmn:incoming>
185
+ <bpmn:outgoing>Flow_0dyp3oa</bpmn:outgoing>
186
+ </bpmn:serviceTask>
187
+ <bpmn:parallelGateway id="Gateway_11zje6z">
188
+ <bpmn:incoming>Flow_0dyp3oa</bpmn:incoming>
189
+ <bpmn:incoming>Flow_0eopw0m</bpmn:incoming>
190
+ <bpmn:outgoing>Flow_0e6wmk9</bpmn:outgoing>
191
+ </bpmn:parallelGateway>
192
+ <bpmn:sequenceFlow id="Flow_0dyp3oa" sourceRef="Activity_1oiegam" targetRef="Gateway_11zje6z" />
193
+ <bpmn:sequenceFlow id="Flow_1991iy9" sourceRef="Gateway_0ilxedq" targetRef="Activity_0iyt4gv" />
194
+ <bpmn:sequenceFlow id="Flow_0eopw0m" sourceRef="Activity_0iyt4gv" targetRef="Gateway_11zje6z" />
195
+ <bpmn:sequenceFlow id="Flow_0e6wmk9" sourceRef="Gateway_11zje6z" targetRef="Event_01k2t9k" />
196
+ <bpmn:sequenceFlow id="Flow_0goyus5" sourceRef="StartEvent_1" targetRef="Activity_0jxgggi" />
197
+ <bpmn:textAnnotation id="TextAnnotation_060npft">
198
+ <bpmn:text>input:
199
+ - zeebeRestAdress
200
+ - zeebeSecret
201
+ - zeebeClientId</bpmn:text>
202
+ </bpmn:textAnnotation>
203
+ <bpmn:association id="Association_00qtgha" associationDirection="None" sourceRef="StartEvent_1" targetRef="TextAnnotation_060npft" />
204
+ </bpmn:process>
205
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
206
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="SM_Document_Handling_Connectors_User_Flow">
207
+ <bpmndi:BPMNShape id="Activity_0svdb6m_di" bpmnElement="Activity_0k0vloc" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022">
208
+ <dc:Bounds x="400" y="178" width="100" height="80" />
209
+ <bpmndi:BPMNLabel />
210
+ </bpmndi:BPMNShape>
211
+ <bpmndi:BPMNShape id="Activity_1ytmrya_di" bpmnElement="Activity_0jxgggi">
212
+ <dc:Bounds x="240" y="178" width="100" height="80" />
213
+ <bpmndi:BPMNLabel />
214
+ </bpmndi:BPMNShape>
215
+ <bpmndi:BPMNShape id="BPMNShape_0kkn37i" bpmnElement="Activity_02hwevk" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022">
216
+ <dc:Bounds x="550" y="178" width="100" height="80" />
217
+ <bpmndi:BPMNLabel />
218
+ </bpmndi:BPMNShape>
219
+ <bpmndi:BPMNShape id="Event_01k2t9k_di" bpmnElement="Event_01k2t9k">
220
+ <dc:Bounds x="1162" y="200" width="36" height="36" />
221
+ </bpmndi:BPMNShape>
222
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
223
+ <dc:Bounds x="172" y="200" width="36" height="36" />
224
+ </bpmndi:BPMNShape>
225
+ <bpmndi:BPMNShape id="BPMNShape_0ijf9o8" bpmnElement="Activity_1oi90zl" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022">
226
+ <dc:Bounds x="710" y="178" width="100" height="80" />
227
+ <bpmndi:BPMNLabel />
228
+ </bpmndi:BPMNShape>
229
+ <bpmndi:BPMNShape id="BPMNShape_1vhnqh3" bpmnElement="Activity_0iyt4gv" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022">
230
+ <dc:Bounds x="950" y="110" width="100" height="80" />
231
+ <bpmndi:BPMNLabel />
232
+ </bpmndi:BPMNShape>
233
+ <bpmndi:BPMNShape id="Gateway_12gzda7_di" bpmnElement="Gateway_0ilxedq">
234
+ <dc:Bounds x="865" y="193" width="50" height="50" />
235
+ </bpmndi:BPMNShape>
236
+ <bpmndi:BPMNShape id="BPMNShape_0imirww" bpmnElement="Activity_1oiegam" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022">
237
+ <dc:Bounds x="950" y="240" width="100" height="80" />
238
+ <bpmndi:BPMNLabel />
239
+ </bpmndi:BPMNShape>
240
+ <bpmndi:BPMNShape id="Gateway_0qf9p87_di" bpmnElement="Gateway_11zje6z">
241
+ <dc:Bounds x="1075" y="193" width="50" height="50" />
242
+ </bpmndi:BPMNShape>
243
+ <bpmndi:BPMNShape id="TextAnnotation_060npft_di" bpmnElement="TextAnnotation_060npft">
244
+ <dc:Bounds x="127" y="80" width="126" height="68" />
245
+ <bpmndi:BPMNLabel />
246
+ </bpmndi:BPMNShape>
247
+ <bpmndi:BPMNEdge id="Flow_08dt0zd_di" bpmnElement="Flow_08dt0zd">
248
+ <di:waypoint x="650" y="218" />
249
+ <di:waypoint x="710" y="218" />
250
+ </bpmndi:BPMNEdge>
251
+ <bpmndi:BPMNEdge id="Flow_1dw6w1f_di" bpmnElement="Flow_1dw6w1f">
252
+ <di:waypoint x="340" y="218" />
253
+ <di:waypoint x="400" y="218" />
254
+ </bpmndi:BPMNEdge>
255
+ <bpmndi:BPMNEdge id="Flow_1p8vgwu_di" bpmnElement="Flow_1p8vgwu">
256
+ <di:waypoint x="500" y="218" />
257
+ <di:waypoint x="550" y="218" />
258
+ </bpmndi:BPMNEdge>
259
+ <bpmndi:BPMNEdge id="Flow_03pwhjf_di" bpmnElement="Flow_03pwhjf">
260
+ <di:waypoint x="810" y="218" />
261
+ <di:waypoint x="865" y="218" />
262
+ </bpmndi:BPMNEdge>
263
+ <bpmndi:BPMNEdge id="Flow_129y4ib_di" bpmnElement="Flow_129y4ib">
264
+ <di:waypoint x="890" y="243" />
265
+ <di:waypoint x="890" y="280" />
266
+ <di:waypoint x="950" y="280" />
267
+ </bpmndi:BPMNEdge>
268
+ <bpmndi:BPMNEdge id="Flow_0dyp3oa_di" bpmnElement="Flow_0dyp3oa">
269
+ <di:waypoint x="1050" y="280" />
270
+ <di:waypoint x="1100" y="280" />
271
+ <di:waypoint x="1100" y="243" />
272
+ </bpmndi:BPMNEdge>
273
+ <bpmndi:BPMNEdge id="Flow_1991iy9_di" bpmnElement="Flow_1991iy9">
274
+ <di:waypoint x="890" y="193" />
275
+ <di:waypoint x="890" y="150" />
276
+ <di:waypoint x="950" y="150" />
277
+ </bpmndi:BPMNEdge>
278
+ <bpmndi:BPMNEdge id="Flow_0eopw0m_di" bpmnElement="Flow_0eopw0m">
279
+ <di:waypoint x="1050" y="150" />
280
+ <di:waypoint x="1100" y="150" />
281
+ <di:waypoint x="1100" y="193" />
282
+ </bpmndi:BPMNEdge>
283
+ <bpmndi:BPMNEdge id="Flow_0e6wmk9_di" bpmnElement="Flow_0e6wmk9">
284
+ <di:waypoint x="1125" y="218" />
285
+ <di:waypoint x="1162" y="218" />
286
+ </bpmndi:BPMNEdge>
287
+ <bpmndi:BPMNEdge id="Flow_0goyus5_di" bpmnElement="Flow_0goyus5">
288
+ <di:waypoint x="208" y="218" />
289
+ <di:waypoint x="240" y="218" />
290
+ </bpmndi:BPMNEdge>
291
+ <bpmndi:BPMNEdge id="Association_00qtgha_di" bpmnElement="Association_00qtgha">
292
+ <di:waypoint x="190" y="200" />
293
+ <di:waypoint x="190" y="148" />
294
+ </bpmndi:BPMNEdge>
295
+ </bpmndi:BPMNPlane>
296
+ </bpmndi:BPMNDiagram>
297
+ </bpmn:definitions>
@@ -132,6 +132,9 @@ _8_10_1.test.describe('Connectors User Flow Tests @tasklistV2', () => {
132
132
  await modelerCreatePage.enterDiagramName(processName);
133
133
  await (0, sleep_1.sleep)(10000);
134
134
  await modelerCreatePage.clickChangeTypeButton();
135
+ // Connector templates now sit behind the change-element popup's
136
+ // "Reusable Assets" tab, so surface the entry before asserting on it.
137
+ await modelerCreatePage.revealChangeElementTemplate(modelerCreatePage.webhookMessageStartEventConnectorOption, 'Webhook');
135
138
  await (0, test_1.expect)(modelerCreatePage.webhookMessageStartEventConnectorOption).toBeVisible({
136
139
  timeout: 30000,
137
140
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/e2e-test-suite",
3
- "version": "0.0.971",
3
+ "version": "0.0.973",
4
4
  "description": "End-to-end test helpers for Camunda 8",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1,297 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0" xmlns:color="http://www.omg.org/spec/BPMN/non-normative/color/1.0" xmlns:zeebe="http://camunda.org/schema/zeebe/1.0" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Web Modeler" exporterVersion="f0d285d" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="8.10.0">
3
+ <bpmn:process id="SM_Document_Handling_Connectors_User_Flow" name="SM_Document_Handling_Connectors_User_Flow" isExecutable="true">
4
+ <bpmn:serviceTask id="Activity_0k0vloc" name="Ask Zeebe if doc can be found" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
5
+ <bpmn:extensionElements>
6
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
7
+ <zeebe:ioMapping>
8
+ <zeebe:input source="oauth-client-credentials-flow" target="authentication.type" />
9
+ <zeebe:input source="" target="authentication.oauthTokenEndpoint" />
10
+ <zeebe:input source="=zeebeClientId" target="authentication.clientId" />
11
+ <zeebe:input source="=zeebeSecret" target="authentication.clientSecret" />
12
+ <zeebe:input source="orchestration-api" target="authentication.audience" />
13
+ <zeebe:input source="credentialsBody" target="authentication.clientAuthentication" />
14
+ <zeebe:input source="GET" target="method" />
15
+ <zeebe:input source="=zeebeRestAdress+&#34;/v2/documents/&#34;+doc.documentId+&#34;?contentHash=&#34;+doc.contentHash" target="url" />
16
+ <zeebe:input source="=false" target="storeResponse" />
17
+ <zeebe:input source="20" target="connectionTimeoutInSeconds" />
18
+ <zeebe:input source="20" target="readTimeoutInSeconds" />
19
+ <zeebe:input source="=false" target="ignoreNullValues" />
20
+ </zeebe:ioMapping>
21
+ <zeebe:taskHeaders>
22
+ <zeebe:header key="elementTemplateVersion" value="17" />
23
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
24
+ <zeebe:header key="resultVariable" value="GetDocUpload" />
25
+ <zeebe:header key="retryBackoff" value="PT0S" />
26
+ </zeebe:taskHeaders>
27
+ </bpmn:extensionElements>
28
+ <bpmn:incoming>Flow_1dw6w1f</bpmn:incoming>
29
+ <bpmn:outgoing>Flow_1p8vgwu</bpmn:outgoing>
30
+ </bpmn:serviceTask>
31
+ <bpmn:serviceTask id="Activity_0jxgggi" name="Download &#38; store Image as &#39;doc&#39; storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
32
+ <bpmn:extensionElements>
33
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
34
+ <zeebe:ioMapping>
35
+ <zeebe:input source="noAuth" target="authentication.type" />
36
+ <zeebe:input source="GET" target="method" />
37
+ <zeebe:input source="https://cdn.sanity.io/images/12wkat9h/development/dd36e88c2139b0a9d5a8997cacf694f2fcd701bf-600x600.jpg" target="url" />
38
+ <zeebe:input source="=true" target="storeResponse" />
39
+ <zeebe:input source="=20" target="connectionTimeoutInSeconds" />
40
+ <zeebe:input source="=20" target="readTimeoutInSeconds" />
41
+ <zeebe:input source="=false" target="ignoreNullValues" />
42
+ </zeebe:ioMapping>
43
+ <zeebe:taskHeaders>
44
+ <zeebe:header key="elementTemplateVersion" value="17" />
45
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
46
+ <zeebe:header key="resultExpression" value="={doc:document}" />
47
+ <zeebe:header key="retryBackoff" value="PT0S" />
48
+ </zeebe:taskHeaders>
49
+ </bpmn:extensionElements>
50
+ <bpmn:incoming>Flow_0goyus5</bpmn:incoming>
51
+ <bpmn:outgoing>Flow_1dw6w1f</bpmn:outgoing>
52
+ </bpmn:serviceTask>
53
+ <bpmn:serviceTask id="Activity_02hwevk" name="Download from storage to container as &#39;doc2&#39;" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
54
+ <bpmn:extensionElements>
55
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
56
+ <zeebe:ioMapping>
57
+ <zeebe:input source="oauth-client-credentials-flow" target="authentication.type" />
58
+ <zeebe:input source="" target="authentication.oauthTokenEndpoint" />
59
+ <zeebe:input source="=zeebeClientId" target="authentication.clientId" />
60
+ <zeebe:input source="=zeebeSecret" target="authentication.clientSecret" />
61
+ <zeebe:input source="orchestration-api" target="authentication.audience" />
62
+ <zeebe:input source="credentialsBody" target="authentication.clientAuthentication" />
63
+ <zeebe:input source="GET" target="method" />
64
+ <zeebe:input source="=zeebeRestAdress+&#34;/v2/documents/&#34;+doc.documentId+&#34;?contentHash=&#34;+doc.contentHash" target="url" />
65
+ <zeebe:input source="=true" target="storeResponse" />
66
+ <zeebe:input source="20" target="connectionTimeoutInSeconds" />
67
+ <zeebe:input source="20" target="readTimeoutInSeconds" />
68
+ <zeebe:input source="=false" target="ignoreNullValues" />
69
+ </zeebe:ioMapping>
70
+ <zeebe:taskHeaders>
71
+ <zeebe:header key="elementTemplateVersion" value="17" />
72
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
73
+ <zeebe:header key="resultExpression" value="={doc2:document}" />
74
+ <zeebe:header key="retryBackoff" value="PT0S" />
75
+ </zeebe:taskHeaders>
76
+ </bpmn:extensionElements>
77
+ <bpmn:incoming>Flow_1p8vgwu</bpmn:incoming>
78
+ <bpmn:outgoing>Flow_08dt0zd</bpmn:outgoing>
79
+ </bpmn:serviceTask>
80
+ <bpmn:endEvent id="Event_01k2t9k">
81
+ <bpmn:incoming>Flow_0e6wmk9</bpmn:incoming>
82
+ </bpmn:endEvent>
83
+ <bpmn:sequenceFlow id="Flow_08dt0zd" sourceRef="Activity_02hwevk" targetRef="Activity_1oi90zl" />
84
+ <bpmn:sequenceFlow id="Flow_1dw6w1f" sourceRef="Activity_0jxgggi" targetRef="Activity_0k0vloc" />
85
+ <bpmn:sequenceFlow id="Flow_1p8vgwu" sourceRef="Activity_0k0vloc" targetRef="Activity_02hwevk" />
86
+ <bpmn:startEvent id="StartEvent_1">
87
+ <bpmn:extensionElements>
88
+ <zeebe:ioMapping>
89
+ <zeebe:output target="zeebeRestAdress" />
90
+ <zeebe:output target="zeebeSecret" />
91
+ <zeebe:output target="zeebeClientId" />
92
+ </zeebe:ioMapping>
93
+ </bpmn:extensionElements>
94
+ <bpmn:outgoing>Flow_0goyus5</bpmn:outgoing>
95
+ </bpmn:startEvent>
96
+ <bpmn:serviceTask id="Activity_1oi90zl" name="Delete doc in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
97
+ <bpmn:extensionElements>
98
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
99
+ <zeebe:ioMapping>
100
+ <zeebe:input source="oauth-client-credentials-flow" target="authentication.type" />
101
+ <zeebe:input source="" target="authentication.oauthTokenEndpoint" />
102
+ <zeebe:input source="=zeebeClientId" target="authentication.clientId" />
103
+ <zeebe:input source="=zeebeSecret" target="authentication.clientSecret" />
104
+ <zeebe:input source="orchestration-api" target="authentication.audience" />
105
+ <zeebe:input source="credentialsBody" target="authentication.clientAuthentication" />
106
+ <zeebe:input source="DELETE" target="method" />
107
+ <zeebe:input source="=zeebeRestAdress+&#34;/v2/documents/&#34;+doc.documentId+&#34;?contentHash=&#34;+doc.contentHash" target="url" />
108
+ <zeebe:input source="=false" target="storeResponse" />
109
+ <zeebe:input source="20" target="connectionTimeoutInSeconds" />
110
+ <zeebe:input source="20" target="readTimeoutInSeconds" />
111
+ <zeebe:input source="=false" target="ignoreNullValues" />
112
+ </zeebe:ioMapping>
113
+ <zeebe:taskHeaders>
114
+ <zeebe:header key="elementTemplateVersion" value="17" />
115
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
116
+ <zeebe:header key="retryBackoff" value="PT0S" />
117
+ </zeebe:taskHeaders>
118
+ </bpmn:extensionElements>
119
+ <bpmn:incoming>Flow_08dt0zd</bpmn:incoming>
120
+ <bpmn:outgoing>Flow_03pwhjf</bpmn:outgoing>
121
+ </bpmn:serviceTask>
122
+ <bpmn:sequenceFlow id="Flow_03pwhjf" sourceRef="Activity_1oi90zl" targetRef="Gateway_0ilxedq" />
123
+ <bpmn:serviceTask id="Activity_0iyt4gv" name="Upload doc2 in storage" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
124
+ <bpmn:extensionElements>
125
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
126
+ <zeebe:ioMapping>
127
+ <zeebe:input source="oauth-client-credentials-flow" target="authentication.type" />
128
+ <zeebe:input source="" target="authentication.oauthTokenEndpoint" />
129
+ <zeebe:input source="=zeebeClientId" target="authentication.clientId" />
130
+ <zeebe:input source="=zeebeSecret" target="authentication.clientSecret" />
131
+ <zeebe:input source="orchestration-api" target="authentication.audience" />
132
+ <zeebe:input source="credentialsBody" target="authentication.clientAuthentication" />
133
+ <zeebe:input source="POST" target="method" />
134
+ <zeebe:input source="=zeebeRestAdress+&#34;/v2/documents&#34;" target="url" />
135
+ <zeebe:input source="={&#34;Content-Type&#34;: &#34;multipart/form-data&#34;}" target="headers" />
136
+ <zeebe:input source="=false" target="storeResponse" />
137
+ <zeebe:input source="20" target="connectionTimeoutInSeconds" />
138
+ <zeebe:input source="20" target="readTimeoutInSeconds" />
139
+ <zeebe:input source="={&#10; &#34;file&#34;: doc2&#10;}" target="body" />
140
+ <zeebe:input source="=false" target="ignoreNullValues" />
141
+ </zeebe:ioMapping>
142
+ <zeebe:taskHeaders>
143
+ <zeebe:header key="elementTemplateVersion" value="17" />
144
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
145
+ <zeebe:header key="resultVariable" value="uploadDoc2" />
146
+ <zeebe:header key="retryBackoff" value="PT0S" />
147
+ </zeebe:taskHeaders>
148
+ </bpmn:extensionElements>
149
+ <bpmn:incoming>Flow_1991iy9</bpmn:incoming>
150
+ <bpmn:outgoing>Flow_0eopw0m</bpmn:outgoing>
151
+ </bpmn:serviceTask>
152
+ <bpmn:sequenceFlow id="Flow_129y4ib" sourceRef="Gateway_0ilxedq" targetRef="Activity_1oiegam" />
153
+ <bpmn:parallelGateway id="Gateway_0ilxedq">
154
+ <bpmn:incoming>Flow_03pwhjf</bpmn:incoming>
155
+ <bpmn:outgoing>Flow_129y4ib</bpmn:outgoing>
156
+ <bpmn:outgoing>Flow_1991iy9</bpmn:outgoing>
157
+ </bpmn:parallelGateway>
158
+ <bpmn:serviceTask id="Activity_1oiegam" name="Upload batch (2 documents)" zeebe:modelerTemplate="io.camunda.connectors.HttpJson.v2" zeebe:modelerTemplateVersion="17" zeebe:modelerTemplateIcon="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K">
159
+ <bpmn:extensionElements>
160
+ <zeebe:taskDefinition type="io.camunda:http-json:1" retries="3" />
161
+ <zeebe:ioMapping>
162
+ <zeebe:input source="oauth-client-credentials-flow" target="authentication.type" />
163
+ <zeebe:input source="" target="authentication.oauthTokenEndpoint" />
164
+ <zeebe:input source="=zeebeClientId" target="authentication.clientId" />
165
+ <zeebe:input source="=zeebeSecret" target="authentication.clientSecret" />
166
+ <zeebe:input source="orchestration-api" target="authentication.audience" />
167
+ <zeebe:input source="credentialsBody" target="authentication.clientAuthentication" />
168
+ <zeebe:input source="POST" target="method" />
169
+ <zeebe:input source="=zeebeRestAdress+&#34;/v2/documents/batch&#34;" target="url" />
170
+ <zeebe:input source="={&#34;Content-Type&#34;: &#34;multipart/form-data&#34;}" target="headers" />
171
+ <zeebe:input source="=false" target="storeResponse" />
172
+ <zeebe:input source="20" target="connectionTimeoutInSeconds" />
173
+ <zeebe:input source="20" target="readTimeoutInSeconds" />
174
+ <zeebe:input source="={&#10; &#34;files&#34;: [doc2,doc2]&#10;}" target="body" />
175
+ <zeebe:input source="=false" target="ignoreNullValues" />
176
+ </zeebe:ioMapping>
177
+ <zeebe:taskHeaders>
178
+ <zeebe:header key="elementTemplateVersion" value="17" />
179
+ <zeebe:header key="elementTemplateId" value="io.camunda.connectors.HttpJson.v2" />
180
+ <zeebe:header key="resultVariable" value="uploadBatch" />
181
+ <zeebe:header key="retryBackoff" value="PT0S" />
182
+ </zeebe:taskHeaders>
183
+ </bpmn:extensionElements>
184
+ <bpmn:incoming>Flow_129y4ib</bpmn:incoming>
185
+ <bpmn:outgoing>Flow_0dyp3oa</bpmn:outgoing>
186
+ </bpmn:serviceTask>
187
+ <bpmn:parallelGateway id="Gateway_11zje6z">
188
+ <bpmn:incoming>Flow_0dyp3oa</bpmn:incoming>
189
+ <bpmn:incoming>Flow_0eopw0m</bpmn:incoming>
190
+ <bpmn:outgoing>Flow_0e6wmk9</bpmn:outgoing>
191
+ </bpmn:parallelGateway>
192
+ <bpmn:sequenceFlow id="Flow_0dyp3oa" sourceRef="Activity_1oiegam" targetRef="Gateway_11zje6z" />
193
+ <bpmn:sequenceFlow id="Flow_1991iy9" sourceRef="Gateway_0ilxedq" targetRef="Activity_0iyt4gv" />
194
+ <bpmn:sequenceFlow id="Flow_0eopw0m" sourceRef="Activity_0iyt4gv" targetRef="Gateway_11zje6z" />
195
+ <bpmn:sequenceFlow id="Flow_0e6wmk9" sourceRef="Gateway_11zje6z" targetRef="Event_01k2t9k" />
196
+ <bpmn:sequenceFlow id="Flow_0goyus5" sourceRef="StartEvent_1" targetRef="Activity_0jxgggi" />
197
+ <bpmn:textAnnotation id="TextAnnotation_060npft">
198
+ <bpmn:text>input:
199
+ - zeebeRestAdress
200
+ - zeebeSecret
201
+ - zeebeClientId</bpmn:text>
202
+ </bpmn:textAnnotation>
203
+ <bpmn:association id="Association_00qtgha" associationDirection="None" sourceRef="StartEvent_1" targetRef="TextAnnotation_060npft" />
204
+ </bpmn:process>
205
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
206
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="SM_Document_Handling_Connectors_User_Flow">
207
+ <bpmndi:BPMNShape id="Activity_0svdb6m_di" bpmnElement="Activity_0k0vloc" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022">
208
+ <dc:Bounds x="400" y="178" width="100" height="80" />
209
+ <bpmndi:BPMNLabel />
210
+ </bpmndi:BPMNShape>
211
+ <bpmndi:BPMNShape id="Activity_1ytmrya_di" bpmnElement="Activity_0jxgggi">
212
+ <dc:Bounds x="240" y="178" width="100" height="80" />
213
+ <bpmndi:BPMNLabel />
214
+ </bpmndi:BPMNShape>
215
+ <bpmndi:BPMNShape id="BPMNShape_0kkn37i" bpmnElement="Activity_02hwevk" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022">
216
+ <dc:Bounds x="550" y="178" width="100" height="80" />
217
+ <bpmndi:BPMNLabel />
218
+ </bpmndi:BPMNShape>
219
+ <bpmndi:BPMNShape id="Event_01k2t9k_di" bpmnElement="Event_01k2t9k">
220
+ <dc:Bounds x="1162" y="200" width="36" height="36" />
221
+ </bpmndi:BPMNShape>
222
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
223
+ <dc:Bounds x="172" y="200" width="36" height="36" />
224
+ </bpmndi:BPMNShape>
225
+ <bpmndi:BPMNShape id="BPMNShape_0ijf9o8" bpmnElement="Activity_1oi90zl" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022">
226
+ <dc:Bounds x="710" y="178" width="100" height="80" />
227
+ <bpmndi:BPMNLabel />
228
+ </bpmndi:BPMNShape>
229
+ <bpmndi:BPMNShape id="BPMNShape_1vhnqh3" bpmnElement="Activity_0iyt4gv" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022">
230
+ <dc:Bounds x="950" y="110" width="100" height="80" />
231
+ <bpmndi:BPMNLabel />
232
+ </bpmndi:BPMNShape>
233
+ <bpmndi:BPMNShape id="Gateway_12gzda7_di" bpmnElement="Gateway_0ilxedq">
234
+ <dc:Bounds x="865" y="193" width="50" height="50" />
235
+ </bpmndi:BPMNShape>
236
+ <bpmndi:BPMNShape id="BPMNShape_0imirww" bpmnElement="Activity_1oiegam" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022">
237
+ <dc:Bounds x="950" y="240" width="100" height="80" />
238
+ <bpmndi:BPMNLabel />
239
+ </bpmndi:BPMNShape>
240
+ <bpmndi:BPMNShape id="Gateway_0qf9p87_di" bpmnElement="Gateway_11zje6z">
241
+ <dc:Bounds x="1075" y="193" width="50" height="50" />
242
+ </bpmndi:BPMNShape>
243
+ <bpmndi:BPMNShape id="TextAnnotation_060npft_di" bpmnElement="TextAnnotation_060npft">
244
+ <dc:Bounds x="127" y="80" width="126" height="68" />
245
+ <bpmndi:BPMNLabel />
246
+ </bpmndi:BPMNShape>
247
+ <bpmndi:BPMNEdge id="Flow_08dt0zd_di" bpmnElement="Flow_08dt0zd">
248
+ <di:waypoint x="650" y="218" />
249
+ <di:waypoint x="710" y="218" />
250
+ </bpmndi:BPMNEdge>
251
+ <bpmndi:BPMNEdge id="Flow_1dw6w1f_di" bpmnElement="Flow_1dw6w1f">
252
+ <di:waypoint x="340" y="218" />
253
+ <di:waypoint x="400" y="218" />
254
+ </bpmndi:BPMNEdge>
255
+ <bpmndi:BPMNEdge id="Flow_1p8vgwu_di" bpmnElement="Flow_1p8vgwu">
256
+ <di:waypoint x="500" y="218" />
257
+ <di:waypoint x="550" y="218" />
258
+ </bpmndi:BPMNEdge>
259
+ <bpmndi:BPMNEdge id="Flow_03pwhjf_di" bpmnElement="Flow_03pwhjf">
260
+ <di:waypoint x="810" y="218" />
261
+ <di:waypoint x="865" y="218" />
262
+ </bpmndi:BPMNEdge>
263
+ <bpmndi:BPMNEdge id="Flow_129y4ib_di" bpmnElement="Flow_129y4ib">
264
+ <di:waypoint x="890" y="243" />
265
+ <di:waypoint x="890" y="280" />
266
+ <di:waypoint x="950" y="280" />
267
+ </bpmndi:BPMNEdge>
268
+ <bpmndi:BPMNEdge id="Flow_0dyp3oa_di" bpmnElement="Flow_0dyp3oa">
269
+ <di:waypoint x="1050" y="280" />
270
+ <di:waypoint x="1100" y="280" />
271
+ <di:waypoint x="1100" y="243" />
272
+ </bpmndi:BPMNEdge>
273
+ <bpmndi:BPMNEdge id="Flow_1991iy9_di" bpmnElement="Flow_1991iy9">
274
+ <di:waypoint x="890" y="193" />
275
+ <di:waypoint x="890" y="150" />
276
+ <di:waypoint x="950" y="150" />
277
+ </bpmndi:BPMNEdge>
278
+ <bpmndi:BPMNEdge id="Flow_0eopw0m_di" bpmnElement="Flow_0eopw0m">
279
+ <di:waypoint x="1050" y="150" />
280
+ <di:waypoint x="1100" y="150" />
281
+ <di:waypoint x="1100" y="193" />
282
+ </bpmndi:BPMNEdge>
283
+ <bpmndi:BPMNEdge id="Flow_0e6wmk9_di" bpmnElement="Flow_0e6wmk9">
284
+ <di:waypoint x="1125" y="218" />
285
+ <di:waypoint x="1162" y="218" />
286
+ </bpmndi:BPMNEdge>
287
+ <bpmndi:BPMNEdge id="Flow_0goyus5_di" bpmnElement="Flow_0goyus5">
288
+ <di:waypoint x="208" y="218" />
289
+ <di:waypoint x="240" y="218" />
290
+ </bpmndi:BPMNEdge>
291
+ <bpmndi:BPMNEdge id="Association_00qtgha_di" bpmnElement="Association_00qtgha">
292
+ <di:waypoint x="190" y="200" />
293
+ <di:waypoint x="190" y="148" />
294
+ </bpmndi:BPMNEdge>
295
+ </bpmndi:BPMNPlane>
296
+ </bpmndi:BPMNDiagram>
297
+ </bpmn:definitions>