@camunda/connectors-element-templates 1.0.6 → 1.0.8

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.
Files changed (99) hide show
  1. package/package.json +1 -1
  2. package/src/build_element_template_array_json_files.sh +9 -0
  3. package/src/connectors.js +26 -2
  4. package/src/element-templates/agenticai-adhoctoolsschema-outbound-connector.json +32 -30
  5. package/src/element-templates/agenticai-aiagent-job-worker.json +3266 -0
  6. package/src/element-templates/agenticai-aiagent-outbound-connector.json +3932 -760
  7. package/src/element-templates/agenticai-mcp-client-outbound-connector.json +1 -1
  8. package/src/element-templates/agenticai-mcp-remote-client-outbound-connector.json +1 -1
  9. package/src/element-templates/asana-connector.json +104 -104
  10. package/src/element-templates/automation-anywhere-outbound-connector.json +657 -657
  11. package/src/element-templates/aws-bedrock-outbound-connector.json +30 -30
  12. package/src/element-templates/aws-comprehend-outbound-connector.json +36 -36
  13. package/src/element-templates/aws-dynamodb-outbound-connector.json +107 -107
  14. package/src/element-templates/aws-eventbridge-connector-boundary.json +26 -26
  15. package/src/element-templates/aws-eventbridge-connector-intermediate.json +31 -31
  16. package/src/element-templates/aws-eventbridge-connector-message-start.json +10 -10
  17. package/src/element-templates/aws-eventbridge-connector-receive.json +356 -0
  18. package/src/element-templates/aws-eventbridge-connector-start-event.json +26 -26
  19. package/src/element-templates/aws-eventbridge-outbound-connector.json +479 -479
  20. package/src/element-templates/aws-lambda-outbound-connector.json +92 -92
  21. package/src/element-templates/aws-s3-outbound-connector.json +30 -30
  22. package/src/element-templates/aws-sagemaker-outbound-connector.json +50 -50
  23. package/src/element-templates/aws-sns-inbound-boundary.json +303 -303
  24. package/src/element-templates/aws-sns-inbound-intermediate.json +215 -215
  25. package/src/element-templates/aws-sns-inbound-message-start.json +343 -343
  26. package/src/element-templates/aws-sns-inbound-receive.json +304 -0
  27. package/src/element-templates/aws-sns-inbound-start-event.json +130 -130
  28. package/src/element-templates/aws-sns-outbound-connector.json +726 -726
  29. package/src/element-templates/aws-sqs-boundary-connector.json +629 -629
  30. package/src/element-templates/aws-sqs-inbound-intermediate-connector.json +537 -537
  31. package/src/element-templates/aws-sqs-outbound-connector.json +440 -440
  32. package/src/element-templates/aws-sqs-receive-connector.json +418 -0
  33. package/src/element-templates/aws-sqs-start-event-connector.json +771 -771
  34. package/src/element-templates/aws-sqs-start-message.json +461 -461
  35. package/src/element-templates/azure-open-ai-connector.json +32 -32
  36. package/src/element-templates/blue-prism-connector.json +50 -50
  37. package/src/element-templates/box-outbound-connector.json +30 -30
  38. package/src/element-templates/csv-outbound-connector.json +412 -0
  39. package/src/element-templates/easy-post-connector.json +149 -149
  40. package/src/element-templates/email-inbound-connector-boundary.json +19 -19
  41. package/src/element-templates/email-inbound-connector-intermediate.json +19 -19
  42. package/src/element-templates/email-outbound-connector.json +233 -233
  43. package/src/element-templates/embeddings-vector-database-outbound-connector.json +473 -488
  44. package/src/element-templates/github-connector.json +2417 -2417
  45. package/src/element-templates/github-webhook-connector-boundary.json +21 -21
  46. package/src/element-templates/github-webhook-connector-intermediate.json +57 -57
  47. package/src/element-templates/github-webhook-connector-message-start.json +21 -21
  48. package/src/element-templates/github-webhook-connector-receive.json +202 -0
  49. package/src/element-templates/github-webhook-connector-start-event.json +57 -57
  50. package/src/element-templates/gitlab-connector.json +1103 -1103
  51. package/src/element-templates/google-drive-outbound-connector.json +846 -846
  52. package/src/element-templates/google-gemini-outbound-connector.json +32 -32
  53. package/src/element-templates/google-maps-platform-connector.json +78 -78
  54. package/src/element-templates/google-sheets-outbound-connector.json +1067 -1067
  55. package/src/element-templates/graphql-outbound-connector.json +1181 -1181
  56. package/src/element-templates/http-json-connector.json +2471 -1866
  57. package/src/element-templates/http-polling-boundary-catch-event-connector.json +635 -6
  58. package/src/element-templates/http-polling-connector.json +635 -6
  59. package/src/element-templates/hugging-face-connector.json +34 -34
  60. package/src/element-templates/jdbc-outbound-connector.json +43 -43
  61. package/src/element-templates/kafka-inbound-connector-boundary.json +1012 -1012
  62. package/src/element-templates/kafka-inbound-connector-intermediate.json +582 -582
  63. package/src/element-templates/kafka-inbound-connector-receive.json +498 -0
  64. package/src/element-templates/kafka-inbound-connector-start-message.json +608 -608
  65. package/src/element-templates/kafka-outbound-connector.json +385 -385
  66. package/src/element-templates/microsoft-office365-mail-connector.json +32 -32
  67. package/src/element-templates/microsoft-teams-outbound-connector.json +1643 -1643
  68. package/src/element-templates/openai-connector.json +122 -122
  69. package/src/element-templates/operate-connector.json +76 -72
  70. package/src/element-templates/power-automate-connector.json +10 -10
  71. package/src/element-templates/rabbitmq-inbound-connector-boundary.json +334 -334
  72. package/src/element-templates/rabbitmq-inbound-connector-intermediate.json +861 -861
  73. package/src/element-templates/rabbitmq-inbound-connector-message-start.json +456 -456
  74. package/src/element-templates/rabbitmq-inbound-connector-receive.json +461 -0
  75. package/src/element-templates/rabbitmq-inbound-connector-start-event.json +258 -258
  76. package/src/element-templates/rabbitmq-outbound-connector.json +322 -322
  77. package/src/element-templates/salesforce-connector.json +44 -44
  78. package/src/element-templates/sendgrid-outbound-connector.json +470 -470
  79. package/src/element-templates/servicenow-connector.json +942 -0
  80. package/src/element-templates/servicenow-flow-starter-connector.json +643 -0
  81. package/src/element-templates/servicenow-incident-connector.json +969 -0
  82. package/src/element-templates/slack-inbound-boundary.json +303 -303
  83. package/src/element-templates/slack-inbound-intermediate.json +277 -277
  84. package/src/element-templates/slack-inbound-message-start.json +11 -11
  85. package/src/element-templates/slack-inbound-receive.json +290 -0
  86. package/src/element-templates/slack-inbound-start-event.json +247 -247
  87. package/src/element-templates/slack-outbound-connector.json +966 -966
  88. package/src/element-templates/twilio-connector.json +52 -52
  89. package/src/element-templates/twilio-webhook-boundary-connector.json +20 -20
  90. package/src/element-templates/twilio-webhook-connector.json +11 -11
  91. package/src/element-templates/twilio-webhook-intermediate-connector.json +50 -50
  92. package/src/element-templates/twilio-webhook-message-start-connector.json +8 -8
  93. package/src/element-templates/twilio-webhook-receive-connector.json +262 -0
  94. package/src/element-templates/webhook-connector-boundary.json +1150 -1150
  95. package/src/element-templates/webhook-connector-intermediate.json +1834 -1834
  96. package/src/element-templates/webhook-connector-receive.json +609 -0
  97. package/src/element-templates/webhook-connector-start-event.json +1495 -1495
  98. package/src/element-templates/webhook-connector-start-message.json +586 -586
  99. package/src/element-templates/idp-extraction-outbound-connector.json +0 -932
@@ -1,14 +1,14 @@
1
1
  [
2
2
  {
3
3
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
4
- "name": "GraphQL Outbound Connector",
4
+ "name": "GraphQL connector",
5
5
  "id": "io.camunda.connectors.GraphQL.v1",
6
6
  "description": "Execute GraphQL query",
7
- "metadata": {
8
- "keywords": []
7
+ "version": 1,
8
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
9
+ "icon": {
10
+ "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
9
11
  },
10
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
11
- "version": 8,
12
12
  "category": {
13
13
  "id": "connectors",
14
14
  "name": "Connectors"
@@ -17,9 +17,6 @@
17
17
  "elementType": {
18
18
  "value": "bpmn:ServiceTask"
19
19
  },
20
- "engines": {
21
- "camunda": "^8.3"
22
- },
23
20
  "groups": [
24
21
  {
25
22
  "id": "authentication",
@@ -27,7 +24,7 @@
27
24
  },
28
25
  {
29
26
  "id": "endpoint",
30
- "label": "HTTP Endpoint"
27
+ "label": "HTTP endpoint"
31
28
  },
32
29
  {
33
30
  "id": "graphql",
@@ -35,49 +32,37 @@
35
32
  },
36
33
  {
37
34
  "id": "timeout",
38
- "label": "Connection timeout"
39
- },
40
- {
41
- "id": "connector",
42
- "label": "Connector"
35
+ "label": "Connect timeout"
43
36
  },
44
37
  {
45
38
  "id": "output",
46
- "label": "Output mapping"
39
+ "label": "Response mapping"
47
40
  },
48
41
  {
49
- "id": "error",
42
+ "id": "errors",
50
43
  "label": "Error handling"
51
- },
52
- {
53
- "id": "retries",
54
- "label": "Retries"
55
44
  }
56
45
  ],
57
46
  "properties": [
58
47
  {
48
+ "type": "Hidden",
59
49
  "value": "io.camunda:connector-graphql:1",
60
50
  "binding": {
61
- "property": "type",
62
- "type": "zeebe:taskDefinition"
63
- },
64
- "type": "Hidden"
51
+ "type": "zeebe:taskDefinition",
52
+ "property": "type"
53
+ }
65
54
  },
66
55
  {
67
- "id": "authentication.type",
68
56
  "label": "Type",
57
+ "id": "authenticationType",
58
+ "group": "authentication",
69
59
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
70
60
  "value": "noAuth",
71
- "group": "authentication",
72
- "binding": {
73
- "name": "authentication.type",
74
- "type": "zeebe:input"
75
- },
76
61
  "type": "Dropdown",
77
62
  "choices": [
78
63
  {
79
- "name": "API key",
80
- "value": "apiKey"
64
+ "name": "None",
65
+ "value": "noAuth"
81
66
  },
82
67
  {
83
68
  "name": "Basic",
@@ -87,250 +72,202 @@
87
72
  "name": "Bearer token",
88
73
  "value": "bearer"
89
74
  },
90
- {
91
- "name": "None",
92
- "value": "noAuth"
93
- },
94
75
  {
95
76
  "name": "OAuth 2.0",
96
77
  "value": "oauth-client-credentials-flow"
97
78
  }
98
- ]
79
+ ],
80
+ "binding": {
81
+ "type": "zeebe:input",
82
+ "name": "authentication.type"
83
+ }
99
84
  },
100
85
  {
101
- "id": "authentication.apiKeyLocation",
102
- "label": "Api key location",
103
- "description": "Choose type: Send API key in header or as query parameter.",
104
- "optional": false,
105
- "value": "headers",
106
- "constraints": {
107
- "notEmpty": true
108
- },
109
- "group": "authentication",
86
+ "label": "URL",
87
+ "group": "endpoint",
88
+ "type": "String",
89
+ "feel": "optional",
110
90
  "binding": {
111
- "name": "authentication.apiKeyLocation",
112
- "type": "zeebe:input"
113
- },
114
- "condition": {
115
- "property": "authentication.type",
116
- "equals": "apiKey",
117
- "type": "simple"
91
+ "type": "zeebe:input",
92
+ "name": "graphql.url"
118
93
  },
94
+ "constraints": {
95
+ "notEmpty": true,
96
+ "pattern": {
97
+ "value": "^(=|(http://|https://|secrets).*$)",
98
+ "message": "Must be a http(s) URL."
99
+ }
100
+ }
101
+ },
102
+ {
103
+ "id": "method",
104
+ "label": "Method",
105
+ "group": "endpoint",
119
106
  "type": "Dropdown",
107
+ "value": "post",
120
108
  "choices": [
121
109
  {
122
- "name": "Headers",
123
- "value": "headers"
110
+ "name": "POST",
111
+ "value": "post"
124
112
  },
125
113
  {
126
- "name": "Query parameters",
127
- "value": "query"
114
+ "name": "GET",
115
+ "value": "get"
128
116
  }
129
- ]
117
+ ],
118
+ "binding": {
119
+ "type": "zeebe:input",
120
+ "name": "graphql.method"
121
+ }
130
122
  },
131
123
  {
132
- "id": "authentication.name",
133
- "label": "API key name",
124
+ "id": "headers",
125
+ "label": "Headers",
126
+ "group": "endpoint",
127
+ "type": "Text",
128
+ "feel": "required",
129
+ "optional": true,
130
+ "binding": {
131
+ "type": "zeebe:input",
132
+ "name": "graphql.headers"
133
+ }
134
+ },
135
+ {
136
+ "label": "Query/Mutation",
137
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
138
+ "group": "graphql",
139
+ "type": "Text",
140
+ "language": "graphql",
141
+ "binding": {
142
+ "type": "zeebe:input",
143
+ "name": "graphql.query"
144
+ },
134
145
  "optional": false,
135
146
  "constraints": {
136
147
  "notEmpty": true
148
+ }
149
+ },
150
+ {
151
+ "label": "Variables",
152
+ "description": "Learn how to <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#variables\" target=\"_blank\">define variables</a>",
153
+ "group": "graphql",
154
+ "type": "Text",
155
+ "feel": "required",
156
+ "binding": {
157
+ "type": "zeebe:input",
158
+ "name": "graphql.variables"
137
159
  },
138
- "feel": "optional",
160
+ "optional": true
161
+ },
162
+ {
163
+ "label": "Bearer token",
139
164
  "group": "authentication",
165
+ "type": "String",
166
+ "feel": "optional",
140
167
  "binding": {
141
- "name": "authentication.name",
142
- "type": "zeebe:input"
168
+ "type": "zeebe:input",
169
+ "name": "graphql.authentication.token"
143
170
  },
144
- "condition": {
145
- "property": "authentication.type",
146
- "equals": "apiKey",
147
- "type": "simple"
171
+ "constraints": {
172
+ "notEmpty": true
148
173
  },
149
- "type": "String"
174
+ "condition": {
175
+ "property": "authenticationType",
176
+ "equals": "bearer"
177
+ }
150
178
  },
151
179
  {
152
- "id": "authentication.value",
153
- "label": "API key value",
154
- "optional": false,
180
+ "label": "OAuth token endpoint",
181
+ "description": "The OAuth token endpoint",
182
+ "group": "authentication",
183
+ "type": "String",
184
+ "feel": "optional",
185
+ "binding": {
186
+ "type": "zeebe:input",
187
+ "name": "authentication.oauthTokenEndpoint"
188
+ },
155
189
  "constraints": {
156
190
  "notEmpty": true
157
191
  },
158
- "feel": "optional",
192
+ "condition": {
193
+ "property": "authenticationType",
194
+ "equals": "oauth-client-credentials-flow"
195
+ }
196
+ },
197
+ {
198
+ "label": "Client ID",
199
+ "description": "Your application's client ID from the OAuth client",
159
200
  "group": "authentication",
201
+ "type": "String",
202
+ "feel": "optional",
160
203
  "binding": {
161
- "name": "authentication.value",
162
- "type": "zeebe:input"
204
+ "type": "zeebe:input",
205
+ "name": "authentication.clientId"
163
206
  },
164
- "condition": {
165
- "property": "authentication.type",
166
- "equals": "apiKey",
167
- "type": "simple"
207
+ "constraints": {
208
+ "notEmpty": true
168
209
  },
169
- "type": "String"
210
+ "condition": {
211
+ "property": "authenticationType",
212
+ "equals": "oauth-client-credentials-flow"
213
+ }
170
214
  },
171
215
  {
172
- "id": "authentication.username",
173
- "label": "Username",
174
- "optional": false,
216
+ "label": "Client secret",
217
+ "description": "Your application's client secret from the OAuth client",
218
+ "group": "authentication",
219
+ "type": "String",
220
+ "feel": "optional",
221
+ "binding": {
222
+ "type": "zeebe:input",
223
+ "name": "authentication.clientSecret"
224
+ },
175
225
  "constraints": {
176
226
  "notEmpty": true
177
227
  },
178
- "feel": "optional",
228
+ "condition": {
229
+ "property": "authenticationType",
230
+ "equals": "oauth-client-credentials-flow"
231
+ }
232
+ },
233
+ {
234
+ "label": "Scopes",
235
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
179
236
  "group": "authentication",
237
+ "type": "String",
238
+ "feel": "optional",
239
+ "optional": true,
180
240
  "binding": {
181
- "name": "authentication.username",
182
- "type": "zeebe:input"
241
+ "type": "zeebe:input",
242
+ "name": "authentication.scopes"
183
243
  },
184
244
  "condition": {
185
- "property": "authentication.type",
186
- "equals": "basic",
187
- "type": "simple"
188
- },
189
- "type": "String"
245
+ "property": "authenticationType",
246
+ "equals": "oauth-client-credentials-flow"
247
+ }
190
248
  },
191
249
  {
192
- "id": "authentication.password",
193
- "label": "Password",
194
- "optional": false,
195
- "constraints": {
196
- "notEmpty": true
197
- },
198
- "feel": "optional",
250
+ "label": "Audience",
251
+ "description": "The unique identifier of the target API you want to access",
199
252
  "group": "authentication",
253
+ "type": "String",
254
+ "feel": "optional",
255
+ "optional": true,
200
256
  "binding": {
201
- "name": "authentication.password",
202
- "type": "zeebe:input"
257
+ "type": "zeebe:input",
258
+ "name": "authentication.audience"
203
259
  },
204
260
  "condition": {
205
- "property": "authentication.type",
206
- "equals": "basic",
207
- "type": "simple"
208
- },
209
- "type": "String"
210
- },
211
- {
212
- "id": "authentication.token",
213
- "label": "Bearer token",
214
- "optional": false,
215
- "constraints": {
216
- "notEmpty": true
217
- },
218
- "feel": "optional",
219
- "group": "authentication",
220
- "binding": {
221
- "name": "authentication.token",
222
- "type": "zeebe:input"
223
- },
224
- "condition": {
225
- "property": "authentication.type",
226
- "equals": "bearer",
227
- "type": "simple"
228
- },
229
- "type": "String"
230
- },
231
- {
232
- "id": "authentication.oauthTokenEndpoint",
233
- "label": "OAuth 2.0 token endpoint",
234
- "description": "The OAuth token endpoint",
235
- "optional": false,
236
- "constraints": {
237
- "notEmpty": true,
238
- "pattern": {
239
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
240
- "message": "Must be a http(s) URL"
241
- }
242
- },
243
- "feel": "optional",
244
- "group": "authentication",
245
- "binding": {
246
- "name": "authentication.oauthTokenEndpoint",
247
- "type": "zeebe:input"
248
- },
249
- "condition": {
250
- "property": "authentication.type",
251
- "equals": "oauth-client-credentials-flow",
252
- "type": "simple"
253
- },
254
- "type": "String"
255
- },
256
- {
257
- "id": "authentication.clientId",
258
- "label": "Client ID",
259
- "description": "Your application's client ID from the OAuth client",
260
- "optional": false,
261
- "constraints": {
262
- "notEmpty": true
263
- },
264
- "feel": "optional",
265
- "group": "authentication",
266
- "binding": {
267
- "name": "authentication.clientId",
268
- "type": "zeebe:input"
269
- },
270
- "condition": {
271
- "property": "authentication.type",
272
- "equals": "oauth-client-credentials-flow",
273
- "type": "simple"
274
- },
275
- "type": "String"
276
- },
277
- {
278
- "id": "authentication.clientSecret",
279
- "label": "Client secret",
280
- "description": "Your application's client secret from the OAuth client",
281
- "optional": false,
282
- "constraints": {
283
- "notEmpty": true
284
- },
285
- "feel": "optional",
286
- "group": "authentication",
287
- "binding": {
288
- "name": "authentication.clientSecret",
289
- "type": "zeebe:input"
290
- },
291
- "condition": {
292
- "property": "authentication.type",
293
- "equals": "oauth-client-credentials-flow",
294
- "type": "simple"
295
- },
296
- "type": "String"
297
- },
298
- {
299
- "id": "authentication.audience",
300
- "label": "Audience",
301
- "description": "The unique identifier of the target API you want to access",
302
- "optional": true,
303
- "feel": "optional",
304
- "group": "authentication",
305
- "binding": {
306
- "name": "authentication.audience",
307
- "type": "zeebe:input"
308
- },
309
- "condition": {
310
- "property": "authentication.type",
311
- "equals": "oauth-client-credentials-flow",
312
- "type": "simple"
313
- },
314
- "type": "String"
261
+ "property": "authenticationType",
262
+ "equals": "oauth-client-credentials-flow"
263
+ }
315
264
  },
316
265
  {
317
- "id": "authentication.clientAuthentication",
318
266
  "label": "Client authentication",
319
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
320
- "optional": false,
321
- "constraints": {
322
- "notEmpty": true
323
- },
267
+ "id": "authentication.clientAuthentication",
324
268
  "group": "authentication",
325
- "binding": {
326
- "name": "authentication.clientAuthentication",
327
- "type": "zeebe:input"
328
- },
329
- "condition": {
330
- "property": "authentication.type",
331
- "equals": "oauth-client-credentials-flow",
332
- "type": "simple"
333
- },
269
+ "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
270
+ "value": "basicAuthHeader",
334
271
  "type": "Dropdown",
335
272
  "choices": [
336
273
  {
@@ -341,234 +278,113 @@
341
278
  "name": "Send as Basic Auth header",
342
279
  "value": "basicAuthHeader"
343
280
  }
344
- ]
345
- },
346
- {
347
- "id": "authentication.scopes",
348
- "label": "Scopes",
349
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
350
- "optional": true,
351
- "feel": "optional",
352
- "group": "authentication",
281
+ ],
353
282
  "binding": {
354
- "name": "authentication.scopes",
355
- "type": "zeebe:input"
283
+ "type": "zeebe:input",
284
+ "name": "authentication.clientAuthentication"
356
285
  },
357
286
  "condition": {
358
- "property": "authentication.type",
359
- "equals": "oauth-client-credentials-flow",
360
- "type": "simple"
361
- },
362
- "type": "String"
363
- },
364
- {
365
- "id": "graphql.method",
366
- "label": "Method",
367
- "optional": false,
368
- "value": "get",
369
- "constraints": {
370
- "notEmpty": true
371
- },
372
- "group": "endpoint",
373
- "binding": {
374
- "name": "graphql.method",
375
- "type": "zeebe:input"
376
- },
377
- "type": "Dropdown",
378
- "choices": [
379
- {
380
- "name": "GET",
381
- "value": "get"
382
- },
383
- {
384
- "name": "POST",
385
- "value": "post"
386
- }
387
- ]
287
+ "property": "authenticationType",
288
+ "equals": "oauth-client-credentials-flow"
289
+ }
388
290
  },
389
291
  {
390
- "id": "graphql.url",
391
- "label": "URL",
392
- "optional": false,
393
- "constraints": {
394
- "notEmpty": true,
395
- "pattern": {
396
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
397
- "message": "Must be a http(s) URL"
398
- }
399
- },
292
+ "label": "Username",
293
+ "group": "authentication",
294
+ "type": "String",
400
295
  "feel": "optional",
401
- "group": "endpoint",
402
296
  "binding": {
403
- "name": "graphql.url",
404
- "type": "zeebe:input"
297
+ "type": "zeebe:input",
298
+ "name": "authentication.username"
405
299
  },
406
- "type": "String"
407
- },
408
- {
409
- "id": "graphql.headers",
410
- "label": "Headers",
411
- "description": "Map of HTTP headers to add to the request",
412
- "optional": true,
413
- "feel": "required",
414
- "group": "endpoint",
415
- "binding": {
416
- "name": "graphql.headers",
417
- "type": "zeebe:input"
300
+ "constraints": {
301
+ "notEmpty": true
418
302
  },
419
- "type": "String"
303
+ "condition": {
304
+ "property": "authenticationType",
305
+ "equals": "basic"
306
+ }
420
307
  },
421
308
  {
422
- "id": "graphql.storeResponse",
423
- "label": "Store response",
424
- "description": "Store the response as a document in the document store",
425
- "optional": false,
426
- "value": false,
427
- "feel": "static",
428
- "group": "endpoint",
309
+ "label": "Password",
310
+ "group": "authentication",
311
+ "type": "String",
312
+ "feel": "optional",
429
313
  "binding": {
430
- "name": "graphql.storeResponse",
431
- "type": "zeebe:input"
314
+ "type": "zeebe:input",
315
+ "name": "authentication.password"
432
316
  },
433
- "type": "Boolean"
434
- },
435
- {
436
- "id": "graphql.query",
437
- "label": "Query/Mutation",
438
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
439
- "optional": false,
440
317
  "constraints": {
441
318
  "notEmpty": true
442
319
  },
443
- "feel": "optional",
444
- "group": "graphql",
445
- "binding": {
446
- "name": "graphql.query",
447
- "type": "zeebe:input"
448
- },
449
- "type": "Text"
450
- },
451
- {
452
- "id": "graphql.variables",
453
- "label": "Variables",
454
- "optional": true,
455
- "feel": "required",
456
- "group": "graphql",
457
- "binding": {
458
- "name": "graphql.variables",
459
- "type": "zeebe:input"
460
- },
461
- "type": "String"
320
+ "condition": {
321
+ "property": "authenticationType",
322
+ "equals": "basic"
323
+ }
462
324
  },
463
325
  {
464
- "id": "graphql.connectionTimeoutInSeconds",
465
- "label": "Connection timeout in seconds",
326
+ "label": "Connection timeout",
466
327
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
467
- "optional": true,
468
- "value": 20,
469
- "feel": "static",
470
328
  "group": "timeout",
329
+ "type": "String",
330
+ "value": "20",
471
331
  "binding": {
472
- "name": "graphql.connectionTimeoutInSeconds",
473
- "type": "zeebe:input"
474
- },
475
- "type": "Number"
476
- },
477
- {
478
- "id": "version",
479
- "label": "Version",
480
- "description": "Version of the element template",
481
- "value": "8",
482
- "group": "connector",
483
- "binding": {
484
- "key": "elementTemplateVersion",
485
- "type": "zeebe:taskHeader"
486
- },
487
- "type": "Hidden"
488
- },
489
- {
490
- "id": "id",
491
- "label": "ID",
492
- "description": "ID of the element template",
493
- "value": "io.camunda.connectors.GraphQL.v1",
494
- "group": "connector",
495
- "binding": {
496
- "key": "elementTemplateId",
497
- "type": "zeebe:taskHeader"
332
+ "type": "zeebe:input",
333
+ "name": "graphql.connectionTimeoutInSeconds"
498
334
  },
499
- "type": "Hidden"
335
+ "feel": "optional",
336
+ "optional": true,
337
+ "constraints": {
338
+ "notEmpty": false,
339
+ "pattern": {
340
+ "value": "^(=|([0-9]+|secrets\\..+)$)",
341
+ "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
342
+ }
343
+ }
500
344
  },
501
345
  {
502
- "id": "resultVariable",
503
346
  "label": "Result variable",
504
347
  "description": "Name of variable to store the response in",
505
348
  "group": "output",
349
+ "type": "String",
506
350
  "binding": {
507
- "key": "resultVariable",
508
- "type": "zeebe:taskHeader"
509
- },
510
- "type": "String"
351
+ "type": "zeebe:taskHeader",
352
+ "key": "resultVariable"
353
+ }
511
354
  },
512
355
  {
513
- "id": "resultExpression",
514
356
  "label": "Result expression",
515
357
  "description": "Expression to map the response into process variables",
516
- "feel": "required",
517
358
  "group": "output",
359
+ "type": "Text",
360
+ "feel": "required",
518
361
  "binding": {
519
- "key": "resultExpression",
520
- "type": "zeebe:taskHeader"
521
- },
522
- "type": "Text"
362
+ "type": "zeebe:taskHeader",
363
+ "key": "resultExpression"
364
+ }
523
365
  },
524
366
  {
525
- "id": "errorExpression",
526
367
  "label": "Error expression",
527
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
368
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
369
+ "group": "errors",
370
+ "type": "Text",
528
371
  "feel": "required",
529
- "group": "error",
530
- "binding": {
531
- "key": "errorExpression",
532
- "type": "zeebe:taskHeader"
533
- },
534
- "type": "Text"
535
- },
536
- {
537
- "id": "retryCount",
538
- "label": "Retries",
539
- "description": "Number of retries",
540
- "value": "3",
541
- "feel": "optional",
542
- "group": "retries",
543
- "binding": {
544
- "property": "retries",
545
- "type": "zeebe:taskDefinition"
546
- },
547
- "type": "String"
548
- },
549
- {
550
- "id": "retryBackoff",
551
- "label": "Retry backoff",
552
- "description": "ISO-8601 duration to wait between retries",
553
- "value": "PT0S",
554
- "group": "retries",
555
372
  "binding": {
556
- "key": "retryBackoff",
557
- "type": "zeebe:taskHeader"
558
- },
559
- "type": "String"
373
+ "type": "zeebe:taskHeader",
374
+ "key": "errorExpression"
375
+ }
560
376
  }
561
377
  ],
562
- "icon": {
563
- "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
378
+ "engines": {
379
+ "camunda": "^8.2"
564
380
  }
565
381
  },
566
382
  {
567
383
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
568
- "name": "GraphQL connector",
384
+ "name": "GraphQL Outbound Connector",
569
385
  "id": "io.camunda.connectors.GraphQL.v1",
570
386
  "description": "Execute GraphQL query",
571
- "version": 2,
387
+ "version": 4,
572
388
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
573
389
  "icon": {
574
390
  "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
@@ -658,7 +474,7 @@
658
474
  "constraints": {
659
475
  "notEmpty": true,
660
476
  "pattern": {
661
- "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
477
+ "value": "^(=|(https?://|\\{\\{secrets\\..+\\}\\}).*$)",
662
478
  "message": "Must be a http(s) URL."
663
479
  }
664
480
  }
@@ -730,7 +546,7 @@
730
546
  "feel": "optional",
731
547
  "binding": {
732
548
  "type": "zeebe:input",
733
- "name": "graphql.authentication.token"
549
+ "name": "authentication.token"
734
550
  },
735
551
  "constraints": {
736
552
  "notEmpty": true
@@ -901,7 +717,7 @@
901
717
  "constraints": {
902
718
  "notEmpty": false,
903
719
  "pattern": {
904
- "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
720
+ "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
905
721
  "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
906
722
  }
907
723
  }
@@ -940,15 +756,15 @@
940
756
  }
941
757
  ],
942
758
  "engines": {
943
- "camunda": "^8.2"
759
+ "camunda": "^8.4"
944
760
  }
945
761
  },
946
762
  {
947
763
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
948
- "name": "GraphQL connector",
764
+ "name": "GraphQL Outbound Connector",
949
765
  "id": "io.camunda.connectors.GraphQL.v1",
950
766
  "description": "Execute GraphQL query",
951
- "version": 1,
767
+ "version": 3,
952
768
  "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
953
769
  "icon": {
954
770
  "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
@@ -1038,7 +854,7 @@
1038
854
  "constraints": {
1039
855
  "notEmpty": true,
1040
856
  "pattern": {
1041
- "value": "^(=|(http://|https://|secrets).*$)",
857
+ "value": "^(=|(https?://|\\{\\{secrets\\..+\\}\\}).*$)",
1042
858
  "message": "Must be a http(s) URL."
1043
859
  }
1044
860
  }
@@ -1281,7 +1097,7 @@
1281
1097
  "constraints": {
1282
1098
  "notEmpty": false,
1283
1099
  "pattern": {
1284
- "value": "^(=|([0-9]+|secrets\\..+)$)",
1100
+ "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
1285
1101
  "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
1286
1102
  }
1287
1103
  }
@@ -1325,14 +1141,14 @@
1325
1141
  },
1326
1142
  {
1327
1143
  "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
1328
- "name": "GraphQL Outbound Connector",
1144
+ "name": "GraphQL connector",
1329
1145
  "id": "io.camunda.connectors.GraphQL.v1",
1330
1146
  "description": "Execute GraphQL query",
1331
- "metadata": {
1332
- "keywords": []
1147
+ "version": 2,
1148
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
1149
+ "icon": {
1150
+ "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
1333
1151
  },
1334
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
1335
- "version": 7,
1336
1152
  "category": {
1337
1153
  "id": "connectors",
1338
1154
  "name": "Connectors"
@@ -1341,9 +1157,6 @@
1341
1157
  "elementType": {
1342
1158
  "value": "bpmn:ServiceTask"
1343
1159
  },
1344
- "engines": {
1345
- "camunda": "^8.3"
1346
- },
1347
1160
  "groups": [
1348
1161
  {
1349
1162
  "id": "authentication",
@@ -1351,7 +1164,7 @@
1351
1164
  },
1352
1165
  {
1353
1166
  "id": "endpoint",
1354
- "label": "HTTP Endpoint"
1167
+ "label": "HTTP endpoint"
1355
1168
  },
1356
1169
  {
1357
1170
  "id": "graphql",
@@ -1359,45 +1172,37 @@
1359
1172
  },
1360
1173
  {
1361
1174
  "id": "timeout",
1362
- "label": "Connection timeout"
1175
+ "label": "Connect timeout"
1363
1176
  },
1364
1177
  {
1365
1178
  "id": "output",
1366
- "label": "Output mapping"
1179
+ "label": "Response mapping"
1367
1180
  },
1368
1181
  {
1369
- "id": "error",
1182
+ "id": "errors",
1370
1183
  "label": "Error handling"
1371
- },
1372
- {
1373
- "id": "retries",
1374
- "label": "Retries"
1375
1184
  }
1376
1185
  ],
1377
1186
  "properties": [
1378
1187
  {
1188
+ "type": "Hidden",
1379
1189
  "value": "io.camunda:connector-graphql:1",
1380
1190
  "binding": {
1381
- "property": "type",
1382
- "type": "zeebe:taskDefinition"
1383
- },
1384
- "type": "Hidden"
1191
+ "type": "zeebe:taskDefinition",
1192
+ "property": "type"
1193
+ }
1385
1194
  },
1386
1195
  {
1387
- "id": "authentication.type",
1388
1196
  "label": "Type",
1197
+ "id": "authenticationType",
1198
+ "group": "authentication",
1389
1199
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
1390
1200
  "value": "noAuth",
1391
- "group": "authentication",
1392
- "binding": {
1393
- "name": "authentication.type",
1394
- "type": "zeebe:input"
1395
- },
1396
1201
  "type": "Dropdown",
1397
1202
  "choices": [
1398
1203
  {
1399
- "name": "API key",
1400
- "value": "apiKey"
1204
+ "name": "None",
1205
+ "value": "noAuth"
1401
1206
  },
1402
1207
  {
1403
1208
  "name": "Basic",
@@ -1407,250 +1212,202 @@
1407
1212
  "name": "Bearer token",
1408
1213
  "value": "bearer"
1409
1214
  },
1410
- {
1411
- "name": "None",
1412
- "value": "noAuth"
1413
- },
1414
1215
  {
1415
1216
  "name": "OAuth 2.0",
1416
1217
  "value": "oauth-client-credentials-flow"
1417
1218
  }
1418
- ]
1219
+ ],
1220
+ "binding": {
1221
+ "type": "zeebe:input",
1222
+ "name": "authentication.type"
1223
+ }
1419
1224
  },
1420
1225
  {
1421
- "id": "authentication.apiKeyLocation",
1422
- "label": "Api key location",
1423
- "description": "Choose type: Send API key in header or as query parameter.",
1424
- "optional": false,
1425
- "value": "headers",
1426
- "constraints": {
1427
- "notEmpty": true
1428
- },
1429
- "group": "authentication",
1226
+ "label": "URL",
1227
+ "group": "endpoint",
1228
+ "type": "String",
1229
+ "feel": "optional",
1430
1230
  "binding": {
1431
- "name": "authentication.apiKeyLocation",
1432
- "type": "zeebe:input"
1433
- },
1434
- "condition": {
1435
- "property": "authentication.type",
1436
- "equals": "apiKey",
1437
- "type": "simple"
1231
+ "type": "zeebe:input",
1232
+ "name": "graphql.url"
1438
1233
  },
1234
+ "constraints": {
1235
+ "notEmpty": true,
1236
+ "pattern": {
1237
+ "value": "^(=|(https?://|secrets\\..+|\\{\\{secrets\\..+\\}\\}).*$)",
1238
+ "message": "Must be a http(s) URL."
1239
+ }
1240
+ }
1241
+ },
1242
+ {
1243
+ "id": "method",
1244
+ "label": "Method",
1245
+ "group": "endpoint",
1439
1246
  "type": "Dropdown",
1247
+ "value": "post",
1440
1248
  "choices": [
1441
1249
  {
1442
- "name": "Headers",
1443
- "value": "headers"
1250
+ "name": "POST",
1251
+ "value": "post"
1444
1252
  },
1445
1253
  {
1446
- "name": "Query parameters",
1447
- "value": "query"
1254
+ "name": "GET",
1255
+ "value": "get"
1448
1256
  }
1449
- ]
1257
+ ],
1258
+ "binding": {
1259
+ "type": "zeebe:input",
1260
+ "name": "graphql.method"
1261
+ }
1450
1262
  },
1451
1263
  {
1452
- "id": "authentication.name",
1453
- "label": "API key name",
1454
- "optional": false,
1455
- "constraints": {
1456
- "notEmpty": true
1457
- },
1458
- "feel": "optional",
1459
- "group": "authentication",
1264
+ "id": "headers",
1265
+ "label": "Headers",
1266
+ "group": "endpoint",
1267
+ "type": "Text",
1268
+ "feel": "required",
1269
+ "optional": true,
1460
1270
  "binding": {
1461
- "name": "authentication.name",
1462
- "type": "zeebe:input"
1463
- },
1464
- "condition": {
1465
- "property": "authentication.type",
1466
- "equals": "apiKey",
1467
- "type": "simple"
1468
- },
1469
- "type": "String"
1271
+ "type": "zeebe:input",
1272
+ "name": "graphql.headers"
1273
+ }
1470
1274
  },
1471
1275
  {
1472
- "id": "authentication.value",
1473
- "label": "API key value",
1474
- "optional": false,
1475
- "constraints": {
1476
- "notEmpty": true
1477
- },
1478
- "feel": "optional",
1479
- "group": "authentication",
1276
+ "label": "Query/Mutation",
1277
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
1278
+ "group": "graphql",
1279
+ "type": "Text",
1280
+ "language": "graphql",
1480
1281
  "binding": {
1481
- "name": "authentication.value",
1482
- "type": "zeebe:input"
1483
- },
1484
- "condition": {
1485
- "property": "authentication.type",
1486
- "equals": "apiKey",
1487
- "type": "simple"
1282
+ "type": "zeebe:input",
1283
+ "name": "graphql.query"
1488
1284
  },
1489
- "type": "String"
1490
- },
1491
- {
1492
- "id": "authentication.username",
1493
- "label": "Username",
1494
1285
  "optional": false,
1495
1286
  "constraints": {
1496
1287
  "notEmpty": true
1497
- },
1498
- "feel": "optional",
1499
- "group": "authentication",
1500
- "binding": {
1501
- "name": "authentication.username",
1502
- "type": "zeebe:input"
1503
- },
1504
- "condition": {
1505
- "property": "authentication.type",
1506
- "equals": "basic",
1507
- "type": "simple"
1508
- },
1509
- "type": "String"
1288
+ }
1510
1289
  },
1511
1290
  {
1512
- "id": "authentication.password",
1513
- "label": "Password",
1514
- "optional": false,
1515
- "constraints": {
1516
- "notEmpty": true
1517
- },
1518
- "feel": "optional",
1519
- "group": "authentication",
1291
+ "label": "Variables",
1292
+ "description": "Learn how to <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#variables\" target=\"_blank\">define variables</a>",
1293
+ "group": "graphql",
1294
+ "type": "Text",
1295
+ "feel": "required",
1520
1296
  "binding": {
1521
- "name": "authentication.password",
1522
- "type": "zeebe:input"
1523
- },
1524
- "condition": {
1525
- "property": "authentication.type",
1526
- "equals": "basic",
1527
- "type": "simple"
1297
+ "type": "zeebe:input",
1298
+ "name": "graphql.variables"
1528
1299
  },
1529
- "type": "String"
1300
+ "optional": true
1530
1301
  },
1531
1302
  {
1532
- "id": "authentication.token",
1533
1303
  "label": "Bearer token",
1534
- "optional": false,
1535
- "constraints": {
1536
- "notEmpty": true
1537
- },
1538
- "feel": "optional",
1539
1304
  "group": "authentication",
1305
+ "type": "String",
1306
+ "feel": "optional",
1540
1307
  "binding": {
1541
- "name": "authentication.token",
1542
- "type": "zeebe:input"
1308
+ "type": "zeebe:input",
1309
+ "name": "graphql.authentication.token"
1543
1310
  },
1544
- "condition": {
1545
- "property": "authentication.type",
1546
- "equals": "bearer",
1547
- "type": "simple"
1311
+ "constraints": {
1312
+ "notEmpty": true
1548
1313
  },
1549
- "type": "String"
1314
+ "condition": {
1315
+ "property": "authenticationType",
1316
+ "equals": "bearer"
1317
+ }
1550
1318
  },
1551
1319
  {
1552
- "id": "authentication.oauthTokenEndpoint",
1553
- "label": "OAuth 2.0 token endpoint",
1320
+ "label": "OAuth token endpoint",
1554
1321
  "description": "The OAuth token endpoint",
1555
- "optional": false,
1556
- "constraints": {
1557
- "notEmpty": true,
1558
- "pattern": {
1559
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1560
- "message": "Must be a http(s) URL"
1561
- }
1562
- },
1563
- "feel": "optional",
1564
1322
  "group": "authentication",
1323
+ "type": "String",
1324
+ "feel": "optional",
1565
1325
  "binding": {
1566
- "name": "authentication.oauthTokenEndpoint",
1567
- "type": "zeebe:input"
1326
+ "type": "zeebe:input",
1327
+ "name": "authentication.oauthTokenEndpoint"
1568
1328
  },
1569
- "condition": {
1570
- "property": "authentication.type",
1571
- "equals": "oauth-client-credentials-flow",
1572
- "type": "simple"
1329
+ "constraints": {
1330
+ "notEmpty": true
1573
1331
  },
1574
- "type": "String"
1332
+ "condition": {
1333
+ "property": "authenticationType",
1334
+ "equals": "oauth-client-credentials-flow"
1335
+ }
1575
1336
  },
1576
1337
  {
1577
- "id": "authentication.clientId",
1578
1338
  "label": "Client ID",
1579
1339
  "description": "Your application's client ID from the OAuth client",
1580
- "optional": false,
1581
- "constraints": {
1582
- "notEmpty": true
1583
- },
1584
- "feel": "optional",
1585
1340
  "group": "authentication",
1341
+ "type": "String",
1342
+ "feel": "optional",
1586
1343
  "binding": {
1587
- "name": "authentication.clientId",
1588
- "type": "zeebe:input"
1344
+ "type": "zeebe:input",
1345
+ "name": "authentication.clientId"
1589
1346
  },
1590
- "condition": {
1591
- "property": "authentication.type",
1592
- "equals": "oauth-client-credentials-flow",
1593
- "type": "simple"
1347
+ "constraints": {
1348
+ "notEmpty": true
1594
1349
  },
1595
- "type": "String"
1350
+ "condition": {
1351
+ "property": "authenticationType",
1352
+ "equals": "oauth-client-credentials-flow"
1353
+ }
1596
1354
  },
1597
1355
  {
1598
- "id": "authentication.clientSecret",
1599
1356
  "label": "Client secret",
1600
1357
  "description": "Your application's client secret from the OAuth client",
1601
- "optional": false,
1358
+ "group": "authentication",
1359
+ "type": "String",
1360
+ "feel": "optional",
1361
+ "binding": {
1362
+ "type": "zeebe:input",
1363
+ "name": "authentication.clientSecret"
1364
+ },
1602
1365
  "constraints": {
1603
1366
  "notEmpty": true
1604
1367
  },
1605
- "feel": "optional",
1368
+ "condition": {
1369
+ "property": "authenticationType",
1370
+ "equals": "oauth-client-credentials-flow"
1371
+ }
1372
+ },
1373
+ {
1374
+ "label": "Scopes",
1375
+ "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1606
1376
  "group": "authentication",
1377
+ "type": "String",
1378
+ "feel": "optional",
1379
+ "optional": true,
1607
1380
  "binding": {
1608
- "name": "authentication.clientSecret",
1609
- "type": "zeebe:input"
1381
+ "type": "zeebe:input",
1382
+ "name": "authentication.scopes"
1610
1383
  },
1611
1384
  "condition": {
1612
- "property": "authentication.type",
1613
- "equals": "oauth-client-credentials-flow",
1614
- "type": "simple"
1615
- },
1616
- "type": "String"
1385
+ "property": "authenticationType",
1386
+ "equals": "oauth-client-credentials-flow"
1387
+ }
1617
1388
  },
1618
1389
  {
1619
- "id": "authentication.audience",
1620
1390
  "label": "Audience",
1621
1391
  "description": "The unique identifier of the target API you want to access",
1622
- "optional": true,
1623
- "feel": "optional",
1624
1392
  "group": "authentication",
1393
+ "type": "String",
1394
+ "feel": "optional",
1395
+ "optional": true,
1625
1396
  "binding": {
1626
- "name": "authentication.audience",
1627
- "type": "zeebe:input"
1397
+ "type": "zeebe:input",
1398
+ "name": "authentication.audience"
1628
1399
  },
1629
1400
  "condition": {
1630
- "property": "authentication.type",
1631
- "equals": "oauth-client-credentials-flow",
1632
- "type": "simple"
1633
- },
1634
- "type": "String"
1401
+ "property": "authenticationType",
1402
+ "equals": "oauth-client-credentials-flow"
1403
+ }
1635
1404
  },
1636
1405
  {
1637
- "id": "authentication.clientAuthentication",
1638
1406
  "label": "Client authentication",
1639
- "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
1640
- "optional": false,
1641
- "constraints": {
1642
- "notEmpty": true
1643
- },
1407
+ "id": "authentication.clientAuthentication",
1644
1408
  "group": "authentication",
1645
- "binding": {
1646
- "name": "authentication.clientAuthentication",
1647
- "type": "zeebe:input"
1648
- },
1649
- "condition": {
1650
- "property": "authentication.type",
1651
- "equals": "oauth-client-credentials-flow",
1652
- "type": "simple"
1653
- },
1409
+ "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
1410
+ "value": "basicAuthHeader",
1654
1411
  "type": "Dropdown",
1655
1412
  "choices": [
1656
1413
  {
@@ -1661,202 +1418,105 @@
1661
1418
  "name": "Send as Basic Auth header",
1662
1419
  "value": "basicAuthHeader"
1663
1420
  }
1664
- ]
1665
- },
1666
- {
1667
- "id": "authentication.scopes",
1668
- "label": "Scopes",
1669
- "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
1670
- "optional": true,
1671
- "feel": "optional",
1672
- "group": "authentication",
1421
+ ],
1673
1422
  "binding": {
1674
- "name": "authentication.scopes",
1675
- "type": "zeebe:input"
1423
+ "type": "zeebe:input",
1424
+ "name": "authentication.clientAuthentication"
1676
1425
  },
1677
1426
  "condition": {
1678
- "property": "authentication.type",
1679
- "equals": "oauth-client-credentials-flow",
1680
- "type": "simple"
1681
- },
1682
- "type": "String"
1683
- },
1684
- {
1685
- "id": "graphql.method",
1686
- "label": "Method",
1687
- "optional": false,
1688
- "value": "get",
1689
- "constraints": {
1690
- "notEmpty": true
1691
- },
1692
- "group": "endpoint",
1693
- "binding": {
1694
- "name": "graphql.method",
1695
- "type": "zeebe:input"
1696
- },
1697
- "type": "Dropdown",
1698
- "choices": [
1699
- {
1700
- "name": "GET",
1701
- "value": "get"
1702
- },
1703
- {
1704
- "name": "POST",
1705
- "value": "post"
1706
- }
1707
- ]
1708
- },
1709
- {
1710
- "id": "graphql.url",
1711
- "label": "URL",
1712
- "optional": false,
1713
- "constraints": {
1714
- "notEmpty": true,
1715
- "pattern": {
1716
- "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
1717
- "message": "Must be a http(s) URL"
1718
- }
1719
- },
1720
- "feel": "optional",
1721
- "group": "endpoint",
1722
- "binding": {
1723
- "name": "graphql.url",
1724
- "type": "zeebe:input"
1725
- },
1726
- "type": "String"
1727
- },
1728
- {
1729
- "id": "graphql.headers",
1730
- "label": "Headers",
1731
- "description": "Map of HTTP headers to add to the request",
1732
- "optional": true,
1733
- "feel": "required",
1734
- "group": "endpoint",
1735
- "binding": {
1736
- "name": "graphql.headers",
1737
- "type": "zeebe:input"
1738
- },
1739
- "type": "String"
1740
- },
1741
- {
1742
- "id": "graphql.storeResponse",
1743
- "label": "Store response",
1744
- "description": "Store the response as a document in the document store",
1745
- "optional": false,
1746
- "value": false,
1747
- "feel": "static",
1748
- "group": "endpoint",
1749
- "binding": {
1750
- "name": "graphql.storeResponse",
1751
- "type": "zeebe:input"
1752
- },
1753
- "type": "Boolean"
1427
+ "property": "authenticationType",
1428
+ "equals": "oauth-client-credentials-flow"
1429
+ }
1754
1430
  },
1755
1431
  {
1756
- "id": "graphql.query",
1757
- "label": "Query/Mutation",
1758
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
1759
- "optional": false,
1760
- "constraints": {
1761
- "notEmpty": true
1762
- },
1432
+ "label": "Username",
1433
+ "group": "authentication",
1434
+ "type": "String",
1763
1435
  "feel": "optional",
1764
- "group": "graphql",
1765
1436
  "binding": {
1766
- "name": "graphql.query",
1767
- "type": "zeebe:input"
1437
+ "type": "zeebe:input",
1438
+ "name": "authentication.username"
1768
1439
  },
1769
- "type": "Text"
1440
+ "constraints": {
1441
+ "notEmpty": true
1442
+ },
1443
+ "condition": {
1444
+ "property": "authenticationType",
1445
+ "equals": "basic"
1446
+ }
1770
1447
  },
1771
1448
  {
1772
- "id": "graphql.variables",
1773
- "label": "Variables",
1774
- "optional": true,
1775
- "feel": "required",
1776
- "group": "graphql",
1449
+ "label": "Password",
1450
+ "group": "authentication",
1451
+ "type": "String",
1452
+ "feel": "optional",
1777
1453
  "binding": {
1778
- "name": "graphql.variables",
1779
- "type": "zeebe:input"
1454
+ "type": "zeebe:input",
1455
+ "name": "authentication.password"
1780
1456
  },
1781
- "type": "String"
1457
+ "constraints": {
1458
+ "notEmpty": true
1459
+ },
1460
+ "condition": {
1461
+ "property": "authenticationType",
1462
+ "equals": "basic"
1463
+ }
1782
1464
  },
1783
1465
  {
1784
- "id": "graphql.connectionTimeoutInSeconds",
1785
- "label": "Connection timeout in seconds",
1466
+ "label": "Connection timeout",
1786
1467
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
1787
- "optional": true,
1788
- "value": 20,
1789
- "feel": "static",
1790
1468
  "group": "timeout",
1469
+ "type": "String",
1470
+ "value": "20",
1791
1471
  "binding": {
1792
- "name": "graphql.connectionTimeoutInSeconds",
1793
- "type": "zeebe:input"
1472
+ "type": "zeebe:input",
1473
+ "name": "graphql.connectionTimeoutInSeconds"
1794
1474
  },
1795
- "type": "Number"
1475
+ "feel": "optional",
1476
+ "optional": true,
1477
+ "constraints": {
1478
+ "notEmpty": false,
1479
+ "pattern": {
1480
+ "value": "^(=|([0-9]+|secrets\\..+|\\{\\{secrets\\..+\\}\\})$)",
1481
+ "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
1482
+ }
1483
+ }
1796
1484
  },
1797
1485
  {
1798
- "id": "resultVariable",
1799
1486
  "label": "Result variable",
1800
1487
  "description": "Name of variable to store the response in",
1801
1488
  "group": "output",
1489
+ "type": "String",
1802
1490
  "binding": {
1803
- "key": "resultVariable",
1804
- "type": "zeebe:taskHeader"
1805
- },
1806
- "type": "String"
1491
+ "type": "zeebe:taskHeader",
1492
+ "key": "resultVariable"
1493
+ }
1807
1494
  },
1808
1495
  {
1809
- "id": "resultExpression",
1810
1496
  "label": "Result expression",
1811
1497
  "description": "Expression to map the response into process variables",
1812
- "feel": "required",
1813
1498
  "group": "output",
1499
+ "type": "Text",
1500
+ "feel": "required",
1814
1501
  "binding": {
1815
- "key": "resultExpression",
1816
- "type": "zeebe:taskHeader"
1817
- },
1818
- "type": "Text"
1502
+ "type": "zeebe:taskHeader",
1503
+ "key": "resultExpression"
1504
+ }
1819
1505
  },
1820
1506
  {
1821
- "id": "errorExpression",
1822
1507
  "label": "Error expression",
1823
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
1508
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
1509
+ "group": "errors",
1510
+ "type": "Text",
1824
1511
  "feel": "required",
1825
- "group": "error",
1826
- "binding": {
1827
- "key": "errorExpression",
1828
- "type": "zeebe:taskHeader"
1829
- },
1830
- "type": "Text"
1831
- },
1832
- {
1833
- "id": "retryCount",
1834
- "label": "Retries",
1835
- "description": "Number of retries",
1836
- "value": "3",
1837
- "feel": "optional",
1838
- "group": "retries",
1839
- "binding": {
1840
- "property": "retries",
1841
- "type": "zeebe:taskDefinition"
1842
- },
1843
- "type": "String"
1844
- },
1845
- {
1846
- "id": "retryBackoff",
1847
- "label": "Retry backoff",
1848
- "description": "ISO-8601 duration to wait between retries",
1849
- "value": "PT0S",
1850
- "group": "retries",
1851
1512
  "binding": {
1852
- "key": "retryBackoff",
1853
- "type": "zeebe:taskHeader"
1854
- },
1855
- "type": "String"
1513
+ "type": "zeebe:taskHeader",
1514
+ "key": "errorExpression"
1515
+ }
1856
1516
  }
1857
1517
  ],
1858
- "icon": {
1859
- "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
1518
+ "engines": {
1519
+ "camunda": "^8.2"
1860
1520
  }
1861
1521
  },
1862
1522
  {
@@ -2384,11 +2044,11 @@
2384
2044
  "name": "GraphQL Outbound Connector",
2385
2045
  "id": "io.camunda.connectors.GraphQL.v1",
2386
2046
  "description": "Execute GraphQL query",
2387
- "version": 4,
2388
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
2389
- "icon": {
2390
- "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
2047
+ "metadata": {
2048
+ "keywords": []
2391
2049
  },
2050
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
2051
+ "version": 7,
2392
2052
  "category": {
2393
2053
  "id": "connectors",
2394
2054
  "name": "Connectors"
@@ -2397,6 +2057,9 @@
2397
2057
  "elementType": {
2398
2058
  "value": "bpmn:ServiceTask"
2399
2059
  },
2060
+ "engines": {
2061
+ "camunda": "^8.3"
2062
+ },
2400
2063
  "groups": [
2401
2064
  {
2402
2065
  "id": "authentication",
@@ -2404,7 +2067,7 @@
2404
2067
  },
2405
2068
  {
2406
2069
  "id": "endpoint",
2407
- "label": "HTTP endpoint"
2070
+ "label": "HTTP Endpoint"
2408
2071
  },
2409
2072
  {
2410
2073
  "id": "graphql",
@@ -2412,37 +2075,45 @@
2412
2075
  },
2413
2076
  {
2414
2077
  "id": "timeout",
2415
- "label": "Connect timeout"
2078
+ "label": "Connection timeout"
2416
2079
  },
2417
2080
  {
2418
2081
  "id": "output",
2419
- "label": "Response mapping"
2082
+ "label": "Output mapping"
2420
2083
  },
2421
2084
  {
2422
- "id": "errors",
2085
+ "id": "error",
2423
2086
  "label": "Error handling"
2087
+ },
2088
+ {
2089
+ "id": "retries",
2090
+ "label": "Retries"
2424
2091
  }
2425
2092
  ],
2426
2093
  "properties": [
2427
2094
  {
2428
- "type": "Hidden",
2429
2095
  "value": "io.camunda:connector-graphql:1",
2430
2096
  "binding": {
2431
- "type": "zeebe:taskDefinition",
2432
- "property": "type"
2433
- }
2097
+ "property": "type",
2098
+ "type": "zeebe:taskDefinition"
2099
+ },
2100
+ "type": "Hidden"
2434
2101
  },
2435
2102
  {
2103
+ "id": "authentication.type",
2436
2104
  "label": "Type",
2437
- "id": "authenticationType",
2438
- "group": "authentication",
2439
2105
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
2440
2106
  "value": "noAuth",
2107
+ "group": "authentication",
2108
+ "binding": {
2109
+ "name": "authentication.type",
2110
+ "type": "zeebe:input"
2111
+ },
2441
2112
  "type": "Dropdown",
2442
2113
  "choices": [
2443
2114
  {
2444
- "name": "None",
2445
- "value": "noAuth"
2115
+ "name": "API key",
2116
+ "value": "apiKey"
2446
2117
  },
2447
2118
  {
2448
2119
  "name": "Basic",
@@ -2452,311 +2123,456 @@
2452
2123
  "name": "Bearer token",
2453
2124
  "value": "bearer"
2454
2125
  },
2126
+ {
2127
+ "name": "None",
2128
+ "value": "noAuth"
2129
+ },
2455
2130
  {
2456
2131
  "name": "OAuth 2.0",
2457
2132
  "value": "oauth-client-credentials-flow"
2458
2133
  }
2459
- ],
2460
- "binding": {
2461
- "type": "zeebe:input",
2462
- "name": "authentication.type"
2463
- }
2134
+ ]
2464
2135
  },
2465
2136
  {
2466
- "label": "URL",
2467
- "group": "endpoint",
2468
- "type": "String",
2469
- "feel": "optional",
2137
+ "id": "authentication.apiKeyLocation",
2138
+ "label": "Api key location",
2139
+ "description": "Choose type: Send API key in header or as query parameter.",
2140
+ "optional": false,
2141
+ "value": "headers",
2142
+ "constraints": {
2143
+ "notEmpty": true
2144
+ },
2145
+ "group": "authentication",
2470
2146
  "binding": {
2471
- "type": "zeebe:input",
2472
- "name": "graphql.url"
2147
+ "name": "authentication.apiKeyLocation",
2148
+ "type": "zeebe:input"
2149
+ },
2150
+ "condition": {
2151
+ "property": "authentication.type",
2152
+ "equals": "apiKey",
2153
+ "type": "simple"
2473
2154
  },
2474
- "constraints": {
2475
- "notEmpty": true,
2476
- "pattern": {
2477
- "value": "^(=|(https?://|\\{\\{secrets\\..+\\}\\}).*$)",
2478
- "message": "Must be a http(s) URL."
2479
- }
2480
- }
2481
- },
2482
- {
2483
- "id": "method",
2484
- "label": "Method",
2485
- "group": "endpoint",
2486
2155
  "type": "Dropdown",
2487
- "value": "post",
2488
2156
  "choices": [
2489
2157
  {
2490
- "name": "POST",
2491
- "value": "post"
2158
+ "name": "Headers",
2159
+ "value": "headers"
2492
2160
  },
2493
2161
  {
2494
- "name": "GET",
2495
- "value": "get"
2162
+ "name": "Query parameters",
2163
+ "value": "query"
2496
2164
  }
2497
- ],
2498
- "binding": {
2499
- "type": "zeebe:input",
2500
- "name": "graphql.method"
2501
- }
2502
- },
2503
- {
2504
- "id": "headers",
2505
- "label": "Headers",
2506
- "group": "endpoint",
2507
- "type": "Text",
2508
- "feel": "required",
2509
- "optional": true,
2510
- "binding": {
2511
- "type": "zeebe:input",
2512
- "name": "graphql.headers"
2513
- }
2165
+ ]
2514
2166
  },
2515
2167
  {
2516
- "label": "Query/Mutation",
2517
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
2518
- "group": "graphql",
2519
- "type": "Text",
2520
- "language": "graphql",
2168
+ "id": "authentication.name",
2169
+ "label": "API key name",
2170
+ "optional": false,
2171
+ "constraints": {
2172
+ "notEmpty": true
2173
+ },
2174
+ "feel": "optional",
2175
+ "group": "authentication",
2521
2176
  "binding": {
2522
- "type": "zeebe:input",
2523
- "name": "graphql.query"
2177
+ "name": "authentication.name",
2178
+ "type": "zeebe:input"
2179
+ },
2180
+ "condition": {
2181
+ "property": "authentication.type",
2182
+ "equals": "apiKey",
2183
+ "type": "simple"
2524
2184
  },
2185
+ "type": "String"
2186
+ },
2187
+ {
2188
+ "id": "authentication.value",
2189
+ "label": "API key value",
2525
2190
  "optional": false,
2526
2191
  "constraints": {
2527
2192
  "notEmpty": true
2528
- }
2193
+ },
2194
+ "feel": "optional",
2195
+ "group": "authentication",
2196
+ "binding": {
2197
+ "name": "authentication.value",
2198
+ "type": "zeebe:input"
2199
+ },
2200
+ "condition": {
2201
+ "property": "authentication.type",
2202
+ "equals": "apiKey",
2203
+ "type": "simple"
2204
+ },
2205
+ "type": "String"
2529
2206
  },
2530
2207
  {
2531
- "label": "Variables",
2532
- "description": "Learn how to <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#variables\" target=\"_blank\">define variables</a>",
2533
- "group": "graphql",
2534
- "type": "Text",
2535
- "feel": "required",
2208
+ "id": "authentication.username",
2209
+ "label": "Username",
2210
+ "optional": false,
2211
+ "constraints": {
2212
+ "notEmpty": true
2213
+ },
2214
+ "feel": "optional",
2215
+ "group": "authentication",
2536
2216
  "binding": {
2537
- "type": "zeebe:input",
2538
- "name": "graphql.variables"
2217
+ "name": "authentication.username",
2218
+ "type": "zeebe:input"
2539
2219
  },
2540
- "optional": true
2220
+ "condition": {
2221
+ "property": "authentication.type",
2222
+ "equals": "basic",
2223
+ "type": "simple"
2224
+ },
2225
+ "type": "String"
2541
2226
  },
2542
2227
  {
2543
- "label": "Bearer token",
2544
- "group": "authentication",
2545
- "type": "String",
2228
+ "id": "authentication.password",
2229
+ "label": "Password",
2230
+ "optional": false,
2231
+ "constraints": {
2232
+ "notEmpty": true
2233
+ },
2546
2234
  "feel": "optional",
2235
+ "group": "authentication",
2547
2236
  "binding": {
2548
- "type": "zeebe:input",
2549
- "name": "authentication.token"
2237
+ "name": "authentication.password",
2238
+ "type": "zeebe:input"
2239
+ },
2240
+ "condition": {
2241
+ "property": "authentication.type",
2242
+ "equals": "basic",
2243
+ "type": "simple"
2550
2244
  },
2245
+ "type": "String"
2246
+ },
2247
+ {
2248
+ "id": "authentication.token",
2249
+ "label": "Bearer token",
2250
+ "optional": false,
2551
2251
  "constraints": {
2552
2252
  "notEmpty": true
2553
2253
  },
2254
+ "feel": "optional",
2255
+ "group": "authentication",
2256
+ "binding": {
2257
+ "name": "authentication.token",
2258
+ "type": "zeebe:input"
2259
+ },
2554
2260
  "condition": {
2555
- "property": "authenticationType",
2556
- "equals": "bearer"
2557
- }
2261
+ "property": "authentication.type",
2262
+ "equals": "bearer",
2263
+ "type": "simple"
2264
+ },
2265
+ "type": "String"
2558
2266
  },
2559
2267
  {
2560
- "label": "OAuth token endpoint",
2268
+ "id": "authentication.oauthTokenEndpoint",
2269
+ "label": "OAuth 2.0 token endpoint",
2561
2270
  "description": "The OAuth token endpoint",
2562
- "group": "authentication",
2563
- "type": "String",
2271
+ "optional": false,
2272
+ "constraints": {
2273
+ "notEmpty": true,
2274
+ "pattern": {
2275
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2276
+ "message": "Must be a http(s) URL"
2277
+ }
2278
+ },
2564
2279
  "feel": "optional",
2280
+ "group": "authentication",
2565
2281
  "binding": {
2566
- "type": "zeebe:input",
2567
- "name": "authentication.oauthTokenEndpoint"
2568
- },
2569
- "constraints": {
2570
- "notEmpty": true
2282
+ "name": "authentication.oauthTokenEndpoint",
2283
+ "type": "zeebe:input"
2571
2284
  },
2572
2285
  "condition": {
2573
- "property": "authenticationType",
2574
- "equals": "oauth-client-credentials-flow"
2575
- }
2286
+ "property": "authentication.type",
2287
+ "equals": "oauth-client-credentials-flow",
2288
+ "type": "simple"
2289
+ },
2290
+ "type": "String"
2576
2291
  },
2577
2292
  {
2293
+ "id": "authentication.clientId",
2578
2294
  "label": "Client ID",
2579
2295
  "description": "Your application's client ID from the OAuth client",
2580
- "group": "authentication",
2581
- "type": "String",
2582
- "feel": "optional",
2583
- "binding": {
2584
- "type": "zeebe:input",
2585
- "name": "authentication.clientId"
2586
- },
2296
+ "optional": false,
2587
2297
  "constraints": {
2588
2298
  "notEmpty": true
2589
2299
  },
2300
+ "feel": "optional",
2301
+ "group": "authentication",
2302
+ "binding": {
2303
+ "name": "authentication.clientId",
2304
+ "type": "zeebe:input"
2305
+ },
2590
2306
  "condition": {
2591
- "property": "authenticationType",
2592
- "equals": "oauth-client-credentials-flow"
2593
- }
2307
+ "property": "authentication.type",
2308
+ "equals": "oauth-client-credentials-flow",
2309
+ "type": "simple"
2310
+ },
2311
+ "type": "String"
2594
2312
  },
2595
2313
  {
2314
+ "id": "authentication.clientSecret",
2596
2315
  "label": "Client secret",
2597
2316
  "description": "Your application's client secret from the OAuth client",
2317
+ "optional": false,
2318
+ "constraints": {
2319
+ "notEmpty": true
2320
+ },
2321
+ "feel": "optional",
2598
2322
  "group": "authentication",
2599
- "type": "String",
2323
+ "binding": {
2324
+ "name": "authentication.clientSecret",
2325
+ "type": "zeebe:input"
2326
+ },
2327
+ "condition": {
2328
+ "property": "authentication.type",
2329
+ "equals": "oauth-client-credentials-flow",
2330
+ "type": "simple"
2331
+ },
2332
+ "type": "String"
2333
+ },
2334
+ {
2335
+ "id": "authentication.audience",
2336
+ "label": "Audience",
2337
+ "description": "The unique identifier of the target API you want to access",
2338
+ "optional": true,
2600
2339
  "feel": "optional",
2340
+ "group": "authentication",
2601
2341
  "binding": {
2602
- "type": "zeebe:input",
2603
- "name": "authentication.clientSecret"
2342
+ "name": "authentication.audience",
2343
+ "type": "zeebe:input"
2344
+ },
2345
+ "condition": {
2346
+ "property": "authentication.type",
2347
+ "equals": "oauth-client-credentials-flow",
2348
+ "type": "simple"
2604
2349
  },
2350
+ "type": "String"
2351
+ },
2352
+ {
2353
+ "id": "authentication.clientAuthentication",
2354
+ "label": "Client authentication",
2355
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2356
+ "optional": false,
2605
2357
  "constraints": {
2606
2358
  "notEmpty": true
2607
2359
  },
2360
+ "group": "authentication",
2361
+ "binding": {
2362
+ "name": "authentication.clientAuthentication",
2363
+ "type": "zeebe:input"
2364
+ },
2608
2365
  "condition": {
2609
- "property": "authenticationType",
2610
- "equals": "oauth-client-credentials-flow"
2611
- }
2366
+ "property": "authentication.type",
2367
+ "equals": "oauth-client-credentials-flow",
2368
+ "type": "simple"
2369
+ },
2370
+ "type": "Dropdown",
2371
+ "choices": [
2372
+ {
2373
+ "name": "Send client credentials in body",
2374
+ "value": "credentialsBody"
2375
+ },
2376
+ {
2377
+ "name": "Send as Basic Auth header",
2378
+ "value": "basicAuthHeader"
2379
+ }
2380
+ ]
2612
2381
  },
2613
2382
  {
2383
+ "id": "authentication.scopes",
2614
2384
  "label": "Scopes",
2615
2385
  "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2616
- "group": "authentication",
2617
- "type": "String",
2618
- "feel": "optional",
2619
2386
  "optional": true,
2387
+ "feel": "optional",
2388
+ "group": "authentication",
2620
2389
  "binding": {
2621
- "type": "zeebe:input",
2622
- "name": "authentication.scopes"
2390
+ "name": "authentication.scopes",
2391
+ "type": "zeebe:input"
2623
2392
  },
2624
2393
  "condition": {
2625
- "property": "authenticationType",
2626
- "equals": "oauth-client-credentials-flow"
2627
- }
2394
+ "property": "authentication.type",
2395
+ "equals": "oauth-client-credentials-flow",
2396
+ "type": "simple"
2397
+ },
2398
+ "type": "String"
2628
2399
  },
2629
2400
  {
2630
- "label": "Audience",
2631
- "description": "The unique identifier of the target API you want to access",
2632
- "group": "authentication",
2633
- "type": "String",
2401
+ "id": "graphql.method",
2402
+ "label": "Method",
2403
+ "optional": false,
2404
+ "value": "get",
2405
+ "constraints": {
2406
+ "notEmpty": true
2407
+ },
2408
+ "group": "endpoint",
2409
+ "binding": {
2410
+ "name": "graphql.method",
2411
+ "type": "zeebe:input"
2412
+ },
2413
+ "type": "Dropdown",
2414
+ "choices": [
2415
+ {
2416
+ "name": "GET",
2417
+ "value": "get"
2418
+ },
2419
+ {
2420
+ "name": "POST",
2421
+ "value": "post"
2422
+ }
2423
+ ]
2424
+ },
2425
+ {
2426
+ "id": "graphql.url",
2427
+ "label": "URL",
2428
+ "optional": false,
2429
+ "constraints": {
2430
+ "notEmpty": true,
2431
+ "pattern": {
2432
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2433
+ "message": "Must be a http(s) URL"
2434
+ }
2435
+ },
2634
2436
  "feel": "optional",
2635
- "optional": true,
2437
+ "group": "endpoint",
2636
2438
  "binding": {
2637
- "type": "zeebe:input",
2638
- "name": "authentication.audience"
2439
+ "name": "graphql.url",
2440
+ "type": "zeebe:input"
2639
2441
  },
2640
- "condition": {
2641
- "property": "authenticationType",
2642
- "equals": "oauth-client-credentials-flow"
2643
- }
2442
+ "type": "String"
2644
2443
  },
2645
2444
  {
2646
- "label": "Client authentication",
2647
- "id": "authentication.clientAuthentication",
2648
- "group": "authentication",
2649
- "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
2650
- "value": "basicAuthHeader",
2651
- "type": "Dropdown",
2652
- "choices": [
2653
- {
2654
- "name": "Send client credentials in body",
2655
- "value": "credentialsBody"
2656
- },
2657
- {
2658
- "name": "Send as Basic Auth header",
2659
- "value": "basicAuthHeader"
2660
- }
2661
- ],
2445
+ "id": "graphql.headers",
2446
+ "label": "Headers",
2447
+ "description": "Map of HTTP headers to add to the request",
2448
+ "optional": true,
2449
+ "feel": "required",
2450
+ "group": "endpoint",
2662
2451
  "binding": {
2663
- "type": "zeebe:input",
2664
- "name": "authentication.clientAuthentication"
2452
+ "name": "graphql.headers",
2453
+ "type": "zeebe:input"
2665
2454
  },
2666
- "condition": {
2667
- "property": "authenticationType",
2668
- "equals": "oauth-client-credentials-flow"
2669
- }
2455
+ "type": "String"
2670
2456
  },
2671
2457
  {
2672
- "label": "Username",
2673
- "group": "authentication",
2674
- "type": "String",
2675
- "feel": "optional",
2458
+ "id": "graphql.storeResponse",
2459
+ "label": "Store response",
2460
+ "description": "Store the response as a document in the document store",
2461
+ "optional": false,
2462
+ "value": false,
2463
+ "feel": "static",
2464
+ "group": "endpoint",
2676
2465
  "binding": {
2677
- "type": "zeebe:input",
2678
- "name": "authentication.username"
2466
+ "name": "graphql.storeResponse",
2467
+ "type": "zeebe:input"
2679
2468
  },
2469
+ "type": "Boolean"
2470
+ },
2471
+ {
2472
+ "id": "graphql.query",
2473
+ "label": "Query/Mutation",
2474
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
2475
+ "optional": false,
2680
2476
  "constraints": {
2681
2477
  "notEmpty": true
2682
2478
  },
2683
- "condition": {
2684
- "property": "authenticationType",
2685
- "equals": "basic"
2686
- }
2687
- },
2688
- {
2689
- "label": "Password",
2690
- "group": "authentication",
2691
- "type": "String",
2692
2479
  "feel": "optional",
2480
+ "group": "graphql",
2693
2481
  "binding": {
2694
- "type": "zeebe:input",
2695
- "name": "authentication.password"
2482
+ "name": "graphql.query",
2483
+ "type": "zeebe:input"
2696
2484
  },
2697
- "constraints": {
2698
- "notEmpty": true
2485
+ "type": "Text"
2486
+ },
2487
+ {
2488
+ "id": "graphql.variables",
2489
+ "label": "Variables",
2490
+ "optional": true,
2491
+ "feel": "required",
2492
+ "group": "graphql",
2493
+ "binding": {
2494
+ "name": "graphql.variables",
2495
+ "type": "zeebe:input"
2699
2496
  },
2700
- "condition": {
2701
- "property": "authenticationType",
2702
- "equals": "basic"
2703
- }
2497
+ "type": "String"
2704
2498
  },
2705
2499
  {
2706
- "label": "Connection timeout",
2500
+ "id": "graphql.connectionTimeoutInSeconds",
2501
+ "label": "Connection timeout in seconds",
2707
2502
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
2503
+ "optional": true,
2504
+ "value": 20,
2505
+ "feel": "static",
2708
2506
  "group": "timeout",
2709
- "type": "String",
2710
- "value": "20",
2711
2507
  "binding": {
2712
- "type": "zeebe:input",
2713
- "name": "graphql.connectionTimeoutInSeconds"
2508
+ "name": "graphql.connectionTimeoutInSeconds",
2509
+ "type": "zeebe:input"
2714
2510
  },
2715
- "feel": "optional",
2716
- "optional": true,
2717
- "constraints": {
2718
- "notEmpty": false,
2719
- "pattern": {
2720
- "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
2721
- "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
2722
- }
2723
- }
2511
+ "type": "Number"
2724
2512
  },
2725
2513
  {
2514
+ "id": "resultVariable",
2726
2515
  "label": "Result variable",
2727
2516
  "description": "Name of variable to store the response in",
2728
2517
  "group": "output",
2729
- "type": "String",
2730
2518
  "binding": {
2731
- "type": "zeebe:taskHeader",
2732
- "key": "resultVariable"
2733
- }
2519
+ "key": "resultVariable",
2520
+ "type": "zeebe:taskHeader"
2521
+ },
2522
+ "type": "String"
2734
2523
  },
2735
2524
  {
2525
+ "id": "resultExpression",
2736
2526
  "label": "Result expression",
2737
2527
  "description": "Expression to map the response into process variables",
2738
- "group": "output",
2739
- "type": "Text",
2740
2528
  "feel": "required",
2529
+ "group": "output",
2741
2530
  "binding": {
2742
- "type": "zeebe:taskHeader",
2743
- "key": "resultExpression"
2744
- }
2531
+ "key": "resultExpression",
2532
+ "type": "zeebe:taskHeader"
2533
+ },
2534
+ "type": "Text"
2745
2535
  },
2746
2536
  {
2537
+ "id": "errorExpression",
2747
2538
  "label": "Error expression",
2748
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
2749
- "group": "errors",
2750
- "type": "Text",
2539
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
2751
2540
  "feel": "required",
2541
+ "group": "error",
2752
2542
  "binding": {
2753
- "type": "zeebe:taskHeader",
2754
- "key": "errorExpression"
2755
- }
2543
+ "key": "errorExpression",
2544
+ "type": "zeebe:taskHeader"
2545
+ },
2546
+ "type": "Text"
2547
+ },
2548
+ {
2549
+ "id": "retryCount",
2550
+ "label": "Retries",
2551
+ "description": "Number of retries",
2552
+ "value": "3",
2553
+ "feel": "optional",
2554
+ "group": "retries",
2555
+ "binding": {
2556
+ "property": "retries",
2557
+ "type": "zeebe:taskDefinition"
2558
+ },
2559
+ "type": "String"
2560
+ },
2561
+ {
2562
+ "id": "retryBackoff",
2563
+ "label": "Retry backoff",
2564
+ "description": "ISO-8601 duration to wait between retries",
2565
+ "value": "PT0S",
2566
+ "group": "retries",
2567
+ "binding": {
2568
+ "key": "retryBackoff",
2569
+ "type": "zeebe:taskHeader"
2570
+ },
2571
+ "type": "String"
2756
2572
  }
2757
2573
  ],
2758
- "engines": {
2759
- "camunda": "^8.4"
2574
+ "icon": {
2575
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
2760
2576
  }
2761
2577
  },
2762
2578
  {
@@ -2764,11 +2580,11 @@
2764
2580
  "name": "GraphQL Outbound Connector",
2765
2581
  "id": "io.camunda.connectors.GraphQL.v1",
2766
2582
  "description": "Execute GraphQL query",
2767
- "version": 3,
2768
- "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/",
2769
- "icon": {
2770
- "contents": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' id='GraphQL_Logo' x='0px' y='0px' viewBox='0 0 400 400' enable-background='new 0 0 400 400' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Crect x='122' y='-0.4' transform='matrix(-0.866 -0.5 0.5 -0.866 163.3196 363.3136)' fill='%23E535AB' width='16.6' height='320.3'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='39.8' y='272.2' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='37.9' y='312.2' transform='matrix(-0.866 -0.5 0.5 -0.866 83.0693 663.3409)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='177.1' y='71.1' transform='matrix(-0.866 -0.5 0.5 -0.866 463.3409 283.0693)' fill='%23E535AB' width='185' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='122.1' y='-13' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7903 232.1221)' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='109.6' y='151.6' transform='matrix(-0.5 -0.866 0.866 -0.5 266.0828 473.3766)' fill='%23E535AB' width='320.3' height='16.6'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='52.5' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='330.9' y='107.5' fill='%23E535AB' width='16.6' height='185'/%3E%3C/g%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Crect x='262.4' y='240.1' transform='matrix(-0.5 -0.866 0.866 -0.5 126.7953 714.2875)' fill='%23E535AB' width='14.5' height='160.9'/%3E%3C/g%3E%3C/g%3E%3Cpath fill='%23E535AB' d='M369.5,297.9c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C373.5,259.9,379.2,281.2,369.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M90.9,137c-9.6,16.7-31,22.4-47.7,12.8c-16.7-9.6-22.4-31-12.8-47.7c9.6-16.7,31-22.4,47.7-12.8 C94.8,99,100.5,120.3,90.9,137'/%3E%3Cpath fill='%23E535AB' d='M30.5,297.9c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C61.4,320.3,40.1,314.6,30.5,297.9'/%3E%3Cpath fill='%23E535AB' d='M309.1,137c-9.6-16.7-3.9-38,12.8-47.7c16.7-9.6,38-3.9,47.7,12.8c9.6,16.7,3.9,38-12.8,47.7 C340.1,159.4,318.7,153.7,309.1,137'/%3E%3Cpath fill='%23E535AB' d='M200,395.8c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,380.1,219.3,395.8,200,395.8'/%3E%3Cpath fill='%23E535AB' d='M200,74c-19.3,0-34.9-15.6-34.9-34.9c0-19.3,15.6-34.9,34.9-34.9c19.3,0,34.9,15.6,34.9,34.9 C234.9,58.4,219.3,74,200,74'/%3E%3C/g%3E%3C/svg%3E"
2583
+ "metadata": {
2584
+ "keywords": []
2771
2585
  },
2586
+ "documentationRef": "https://docs.camunda.io/docs/components/connectors/protocol/graphql/",
2587
+ "version": 8,
2772
2588
  "category": {
2773
2589
  "id": "connectors",
2774
2590
  "name": "Connectors"
@@ -2777,6 +2593,9 @@
2777
2593
  "elementType": {
2778
2594
  "value": "bpmn:ServiceTask"
2779
2595
  },
2596
+ "engines": {
2597
+ "camunda": "^8.3"
2598
+ },
2780
2599
  "groups": [
2781
2600
  {
2782
2601
  "id": "authentication",
@@ -2784,7 +2603,7 @@
2784
2603
  },
2785
2604
  {
2786
2605
  "id": "endpoint",
2787
- "label": "HTTP endpoint"
2606
+ "label": "HTTP Endpoint"
2788
2607
  },
2789
2608
  {
2790
2609
  "id": "graphql",
@@ -2792,37 +2611,49 @@
2792
2611
  },
2793
2612
  {
2794
2613
  "id": "timeout",
2795
- "label": "Connect timeout"
2614
+ "label": "Connection timeout"
2615
+ },
2616
+ {
2617
+ "id": "connector",
2618
+ "label": "Connector"
2796
2619
  },
2797
2620
  {
2798
2621
  "id": "output",
2799
- "label": "Response mapping"
2622
+ "label": "Output mapping"
2800
2623
  },
2801
2624
  {
2802
- "id": "errors",
2625
+ "id": "error",
2803
2626
  "label": "Error handling"
2627
+ },
2628
+ {
2629
+ "id": "retries",
2630
+ "label": "Retries"
2804
2631
  }
2805
2632
  ],
2806
2633
  "properties": [
2807
2634
  {
2808
- "type": "Hidden",
2809
2635
  "value": "io.camunda:connector-graphql:1",
2810
2636
  "binding": {
2811
- "type": "zeebe:taskDefinition",
2812
- "property": "type"
2813
- }
2637
+ "property": "type",
2638
+ "type": "zeebe:taskDefinition"
2639
+ },
2640
+ "type": "Hidden"
2814
2641
  },
2815
2642
  {
2643
+ "id": "authentication.type",
2816
2644
  "label": "Type",
2817
- "id": "authenticationType",
2818
- "group": "authentication",
2819
2645
  "description": "Choose the authentication type. Select 'None' if no authentication is necessary",
2820
2646
  "value": "noAuth",
2647
+ "group": "authentication",
2648
+ "binding": {
2649
+ "name": "authentication.type",
2650
+ "type": "zeebe:input"
2651
+ },
2821
2652
  "type": "Dropdown",
2822
2653
  "choices": [
2823
2654
  {
2824
- "name": "None",
2825
- "value": "noAuth"
2655
+ "name": "API key",
2656
+ "value": "apiKey"
2826
2657
  },
2827
2658
  {
2828
2659
  "name": "Basic",
@@ -2832,311 +2663,480 @@
2832
2663
  "name": "Bearer token",
2833
2664
  "value": "bearer"
2834
2665
  },
2666
+ {
2667
+ "name": "None",
2668
+ "value": "noAuth"
2669
+ },
2835
2670
  {
2836
2671
  "name": "OAuth 2.0",
2837
2672
  "value": "oauth-client-credentials-flow"
2838
2673
  }
2839
- ],
2840
- "binding": {
2841
- "type": "zeebe:input",
2842
- "name": "authentication.type"
2843
- }
2674
+ ]
2844
2675
  },
2845
2676
  {
2846
- "label": "URL",
2847
- "group": "endpoint",
2848
- "type": "String",
2849
- "feel": "optional",
2677
+ "id": "authentication.apiKeyLocation",
2678
+ "label": "Api key location",
2679
+ "description": "Choose type: Send API key in header or as query parameter.",
2680
+ "optional": false,
2681
+ "value": "headers",
2682
+ "constraints": {
2683
+ "notEmpty": true
2684
+ },
2685
+ "group": "authentication",
2850
2686
  "binding": {
2851
- "type": "zeebe:input",
2852
- "name": "graphql.url"
2687
+ "name": "authentication.apiKeyLocation",
2688
+ "type": "zeebe:input"
2689
+ },
2690
+ "condition": {
2691
+ "property": "authentication.type",
2692
+ "equals": "apiKey",
2693
+ "type": "simple"
2853
2694
  },
2854
- "constraints": {
2855
- "notEmpty": true,
2856
- "pattern": {
2857
- "value": "^(=|(https?://|\\{\\{secrets\\..+\\}\\}).*$)",
2858
- "message": "Must be a http(s) URL."
2859
- }
2860
- }
2861
- },
2862
- {
2863
- "id": "method",
2864
- "label": "Method",
2865
- "group": "endpoint",
2866
2695
  "type": "Dropdown",
2867
- "value": "post",
2868
2696
  "choices": [
2869
2697
  {
2870
- "name": "POST",
2871
- "value": "post"
2698
+ "name": "Headers",
2699
+ "value": "headers"
2872
2700
  },
2873
2701
  {
2874
- "name": "GET",
2875
- "value": "get"
2702
+ "name": "Query parameters",
2703
+ "value": "query"
2876
2704
  }
2877
- ],
2878
- "binding": {
2879
- "type": "zeebe:input",
2880
- "name": "graphql.method"
2881
- }
2705
+ ]
2882
2706
  },
2883
2707
  {
2884
- "id": "headers",
2885
- "label": "Headers",
2886
- "group": "endpoint",
2887
- "type": "Text",
2888
- "feel": "required",
2889
- "optional": true,
2708
+ "id": "authentication.name",
2709
+ "label": "API key name",
2710
+ "optional": false,
2711
+ "constraints": {
2712
+ "notEmpty": true
2713
+ },
2714
+ "feel": "optional",
2715
+ "group": "authentication",
2890
2716
  "binding": {
2891
- "type": "zeebe:input",
2892
- "name": "graphql.headers"
2893
- }
2717
+ "name": "authentication.name",
2718
+ "type": "zeebe:input"
2719
+ },
2720
+ "condition": {
2721
+ "property": "authentication.type",
2722
+ "equals": "apiKey",
2723
+ "type": "simple"
2724
+ },
2725
+ "type": "String"
2894
2726
  },
2895
2727
  {
2896
- "label": "Query/Mutation",
2897
- "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#querymutation\" target=\"_blank\">documentation</a>",
2898
- "group": "graphql",
2899
- "type": "Text",
2900
- "language": "graphql",
2901
- "binding": {
2902
- "type": "zeebe:input",
2903
- "name": "graphql.query"
2904
- },
2728
+ "id": "authentication.value",
2729
+ "label": "API key value",
2905
2730
  "optional": false,
2906
2731
  "constraints": {
2907
2732
  "notEmpty": true
2908
- }
2733
+ },
2734
+ "feel": "optional",
2735
+ "group": "authentication",
2736
+ "binding": {
2737
+ "name": "authentication.value",
2738
+ "type": "zeebe:input"
2739
+ },
2740
+ "condition": {
2741
+ "property": "authentication.type",
2742
+ "equals": "apiKey",
2743
+ "type": "simple"
2744
+ },
2745
+ "type": "String"
2909
2746
  },
2910
2747
  {
2911
- "label": "Variables",
2912
- "description": "Learn how to <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/graphql/#variables\" target=\"_blank\">define variables</a>",
2913
- "group": "graphql",
2914
- "type": "Text",
2915
- "feel": "required",
2748
+ "id": "authentication.username",
2749
+ "label": "Username",
2750
+ "optional": false,
2751
+ "constraints": {
2752
+ "notEmpty": true
2753
+ },
2754
+ "feel": "optional",
2755
+ "group": "authentication",
2916
2756
  "binding": {
2917
- "type": "zeebe:input",
2918
- "name": "graphql.variables"
2757
+ "name": "authentication.username",
2758
+ "type": "zeebe:input"
2919
2759
  },
2920
- "optional": true
2760
+ "condition": {
2761
+ "property": "authentication.type",
2762
+ "equals": "basic",
2763
+ "type": "simple"
2764
+ },
2765
+ "type": "String"
2921
2766
  },
2922
2767
  {
2923
- "label": "Bearer token",
2924
- "group": "authentication",
2925
- "type": "String",
2768
+ "id": "authentication.password",
2769
+ "label": "Password",
2770
+ "optional": false,
2771
+ "constraints": {
2772
+ "notEmpty": true
2773
+ },
2926
2774
  "feel": "optional",
2775
+ "group": "authentication",
2927
2776
  "binding": {
2928
- "type": "zeebe:input",
2929
- "name": "graphql.authentication.token"
2777
+ "name": "authentication.password",
2778
+ "type": "zeebe:input"
2779
+ },
2780
+ "condition": {
2781
+ "property": "authentication.type",
2782
+ "equals": "basic",
2783
+ "type": "simple"
2930
2784
  },
2785
+ "type": "String"
2786
+ },
2787
+ {
2788
+ "id": "authentication.token",
2789
+ "label": "Bearer token",
2790
+ "optional": false,
2931
2791
  "constraints": {
2932
2792
  "notEmpty": true
2933
2793
  },
2794
+ "feel": "optional",
2795
+ "group": "authentication",
2796
+ "binding": {
2797
+ "name": "authentication.token",
2798
+ "type": "zeebe:input"
2799
+ },
2934
2800
  "condition": {
2935
- "property": "authenticationType",
2936
- "equals": "bearer"
2937
- }
2801
+ "property": "authentication.type",
2802
+ "equals": "bearer",
2803
+ "type": "simple"
2804
+ },
2805
+ "type": "String"
2938
2806
  },
2939
2807
  {
2940
- "label": "OAuth token endpoint",
2808
+ "id": "authentication.oauthTokenEndpoint",
2809
+ "label": "OAuth 2.0 token endpoint",
2941
2810
  "description": "The OAuth token endpoint",
2942
- "group": "authentication",
2943
- "type": "String",
2811
+ "optional": false,
2812
+ "constraints": {
2813
+ "notEmpty": true,
2814
+ "pattern": {
2815
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2816
+ "message": "Must be a http(s) URL"
2817
+ }
2818
+ },
2944
2819
  "feel": "optional",
2820
+ "group": "authentication",
2945
2821
  "binding": {
2946
- "type": "zeebe:input",
2947
- "name": "authentication.oauthTokenEndpoint"
2948
- },
2949
- "constraints": {
2950
- "notEmpty": true
2822
+ "name": "authentication.oauthTokenEndpoint",
2823
+ "type": "zeebe:input"
2951
2824
  },
2952
2825
  "condition": {
2953
- "property": "authenticationType",
2954
- "equals": "oauth-client-credentials-flow"
2955
- }
2826
+ "property": "authentication.type",
2827
+ "equals": "oauth-client-credentials-flow",
2828
+ "type": "simple"
2829
+ },
2830
+ "type": "String"
2956
2831
  },
2957
2832
  {
2833
+ "id": "authentication.clientId",
2958
2834
  "label": "Client ID",
2959
2835
  "description": "Your application's client ID from the OAuth client",
2960
- "group": "authentication",
2961
- "type": "String",
2962
- "feel": "optional",
2963
- "binding": {
2964
- "type": "zeebe:input",
2965
- "name": "authentication.clientId"
2966
- },
2836
+ "optional": false,
2967
2837
  "constraints": {
2968
2838
  "notEmpty": true
2969
2839
  },
2840
+ "feel": "optional",
2841
+ "group": "authentication",
2842
+ "binding": {
2843
+ "name": "authentication.clientId",
2844
+ "type": "zeebe:input"
2845
+ },
2970
2846
  "condition": {
2971
- "property": "authenticationType",
2972
- "equals": "oauth-client-credentials-flow"
2973
- }
2847
+ "property": "authentication.type",
2848
+ "equals": "oauth-client-credentials-flow",
2849
+ "type": "simple"
2850
+ },
2851
+ "type": "String"
2974
2852
  },
2975
2853
  {
2854
+ "id": "authentication.clientSecret",
2976
2855
  "label": "Client secret",
2977
2856
  "description": "Your application's client secret from the OAuth client",
2857
+ "optional": false,
2858
+ "constraints": {
2859
+ "notEmpty": true
2860
+ },
2861
+ "feel": "optional",
2978
2862
  "group": "authentication",
2979
- "type": "String",
2863
+ "binding": {
2864
+ "name": "authentication.clientSecret",
2865
+ "type": "zeebe:input"
2866
+ },
2867
+ "condition": {
2868
+ "property": "authentication.type",
2869
+ "equals": "oauth-client-credentials-flow",
2870
+ "type": "simple"
2871
+ },
2872
+ "type": "String"
2873
+ },
2874
+ {
2875
+ "id": "authentication.audience",
2876
+ "label": "Audience",
2877
+ "description": "The unique identifier of the target API you want to access",
2878
+ "optional": true,
2980
2879
  "feel": "optional",
2880
+ "group": "authentication",
2981
2881
  "binding": {
2982
- "type": "zeebe:input",
2983
- "name": "authentication.clientSecret"
2882
+ "name": "authentication.audience",
2883
+ "type": "zeebe:input"
2884
+ },
2885
+ "condition": {
2886
+ "property": "authentication.type",
2887
+ "equals": "oauth-client-credentials-flow",
2888
+ "type": "simple"
2984
2889
  },
2890
+ "type": "String"
2891
+ },
2892
+ {
2893
+ "id": "authentication.clientAuthentication",
2894
+ "label": "Client authentication",
2895
+ "description": "Send client ID and client secret as Basic Auth request in the header, or as client credentials in the request body",
2896
+ "optional": false,
2985
2897
  "constraints": {
2986
2898
  "notEmpty": true
2987
2899
  },
2900
+ "group": "authentication",
2901
+ "binding": {
2902
+ "name": "authentication.clientAuthentication",
2903
+ "type": "zeebe:input"
2904
+ },
2988
2905
  "condition": {
2989
- "property": "authenticationType",
2990
- "equals": "oauth-client-credentials-flow"
2991
- }
2906
+ "property": "authentication.type",
2907
+ "equals": "oauth-client-credentials-flow",
2908
+ "type": "simple"
2909
+ },
2910
+ "type": "Dropdown",
2911
+ "choices": [
2912
+ {
2913
+ "name": "Send client credentials in body",
2914
+ "value": "credentialsBody"
2915
+ },
2916
+ {
2917
+ "name": "Send as Basic Auth header",
2918
+ "value": "basicAuthHeader"
2919
+ }
2920
+ ]
2992
2921
  },
2993
2922
  {
2923
+ "id": "authentication.scopes",
2994
2924
  "label": "Scopes",
2995
2925
  "description": "The scopes which you want to request authorization for (e.g.read:contacts)",
2996
- "group": "authentication",
2997
- "type": "String",
2998
- "feel": "optional",
2999
2926
  "optional": true,
2927
+ "feel": "optional",
2928
+ "group": "authentication",
3000
2929
  "binding": {
3001
- "type": "zeebe:input",
3002
- "name": "authentication.scopes"
2930
+ "name": "authentication.scopes",
2931
+ "type": "zeebe:input"
3003
2932
  },
3004
2933
  "condition": {
3005
- "property": "authenticationType",
3006
- "equals": "oauth-client-credentials-flow"
3007
- }
2934
+ "property": "authentication.type",
2935
+ "equals": "oauth-client-credentials-flow",
2936
+ "type": "simple"
2937
+ },
2938
+ "type": "String"
3008
2939
  },
3009
2940
  {
3010
- "label": "Audience",
3011
- "description": "The unique identifier of the target API you want to access",
3012
- "group": "authentication",
3013
- "type": "String",
3014
- "feel": "optional",
3015
- "optional": true,
2941
+ "id": "graphql.method",
2942
+ "label": "Method",
2943
+ "optional": false,
2944
+ "value": "get",
2945
+ "constraints": {
2946
+ "notEmpty": true
2947
+ },
2948
+ "group": "endpoint",
3016
2949
  "binding": {
3017
- "type": "zeebe:input",
3018
- "name": "authentication.audience"
2950
+ "name": "graphql.method",
2951
+ "type": "zeebe:input"
3019
2952
  },
3020
- "condition": {
3021
- "property": "authenticationType",
3022
- "equals": "oauth-client-credentials-flow"
3023
- }
3024
- },
3025
- {
3026
- "label": "Client authentication",
3027
- "id": "authentication.clientAuthentication",
3028
- "group": "authentication",
3029
- "description": "Send client id and client secret as Basic Auth request in the header, or as client credentials in the request body",
3030
- "value": "basicAuthHeader",
3031
2953
  "type": "Dropdown",
3032
2954
  "choices": [
3033
2955
  {
3034
- "name": "Send client credentials in body",
3035
- "value": "credentialsBody"
2956
+ "name": "GET",
2957
+ "value": "get"
3036
2958
  },
3037
2959
  {
3038
- "name": "Send as Basic Auth header",
3039
- "value": "basicAuthHeader"
2960
+ "name": "POST",
2961
+ "value": "post"
3040
2962
  }
3041
- ],
3042
- "binding": {
3043
- "type": "zeebe:input",
3044
- "name": "authentication.clientAuthentication"
3045
- },
3046
- "condition": {
3047
- "property": "authenticationType",
3048
- "equals": "oauth-client-credentials-flow"
3049
- }
2963
+ ]
3050
2964
  },
3051
2965
  {
3052
- "label": "Username",
3053
- "group": "authentication",
3054
- "type": "String",
2966
+ "id": "graphql.url",
2967
+ "label": "URL",
2968
+ "optional": false,
2969
+ "constraints": {
2970
+ "notEmpty": true,
2971
+ "pattern": {
2972
+ "value": "^(=|(http://|https://|secrets|\\{\\{).*$)",
2973
+ "message": "Must be a http(s) URL"
2974
+ }
2975
+ },
3055
2976
  "feel": "optional",
2977
+ "group": "endpoint",
3056
2978
  "binding": {
3057
- "type": "zeebe:input",
3058
- "name": "authentication.username"
2979
+ "name": "graphql.url",
2980
+ "type": "zeebe:input"
3059
2981
  },
3060
- "constraints": {
3061
- "notEmpty": true
2982
+ "type": "String"
2983
+ },
2984
+ {
2985
+ "id": "graphql.headers",
2986
+ "label": "Headers",
2987
+ "description": "Map of HTTP headers to add to the request",
2988
+ "optional": true,
2989
+ "feel": "required",
2990
+ "group": "endpoint",
2991
+ "binding": {
2992
+ "name": "graphql.headers",
2993
+ "type": "zeebe:input"
3062
2994
  },
3063
- "condition": {
3064
- "property": "authenticationType",
3065
- "equals": "basic"
3066
- }
2995
+ "type": "String"
3067
2996
  },
3068
2997
  {
3069
- "label": "Password",
3070
- "group": "authentication",
3071
- "type": "String",
3072
- "feel": "optional",
2998
+ "id": "graphql.storeResponse",
2999
+ "label": "Store response",
3000
+ "description": "Store the response as a document in the document store",
3001
+ "optional": false,
3002
+ "value": false,
3003
+ "feel": "static",
3004
+ "group": "endpoint",
3073
3005
  "binding": {
3074
- "type": "zeebe:input",
3075
- "name": "authentication.password"
3006
+ "name": "graphql.storeResponse",
3007
+ "type": "zeebe:input"
3076
3008
  },
3009
+ "type": "Boolean"
3010
+ },
3011
+ {
3012
+ "id": "graphql.query",
3013
+ "label": "Query/Mutation",
3014
+ "description": "See <a href=\"https://docs.camunda.io/docs/components/connectors/protocol/graphql/#querymutation\" target=\"_blank\">documentation</a>",
3015
+ "optional": false,
3077
3016
  "constraints": {
3078
3017
  "notEmpty": true
3079
3018
  },
3080
- "condition": {
3081
- "property": "authenticationType",
3082
- "equals": "basic"
3083
- }
3019
+ "feel": "optional",
3020
+ "group": "graphql",
3021
+ "binding": {
3022
+ "name": "graphql.query",
3023
+ "type": "zeebe:input"
3024
+ },
3025
+ "type": "Text"
3084
3026
  },
3085
3027
  {
3086
- "label": "Connection timeout",
3028
+ "id": "graphql.variables",
3029
+ "label": "Variables",
3030
+ "optional": true,
3031
+ "feel": "required",
3032
+ "group": "graphql",
3033
+ "binding": {
3034
+ "name": "graphql.variables",
3035
+ "type": "zeebe:input"
3036
+ },
3037
+ "type": "String"
3038
+ },
3039
+ {
3040
+ "id": "graphql.connectionTimeoutInSeconds",
3041
+ "label": "Connection timeout in seconds",
3087
3042
  "description": "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout",
3043
+ "optional": true,
3044
+ "value": 20,
3045
+ "feel": "static",
3088
3046
  "group": "timeout",
3089
- "type": "String",
3090
- "value": "20",
3091
3047
  "binding": {
3092
- "type": "zeebe:input",
3093
- "name": "graphql.connectionTimeoutInSeconds"
3048
+ "name": "graphql.connectionTimeoutInSeconds",
3049
+ "type": "zeebe:input"
3094
3050
  },
3095
- "feel": "optional",
3096
- "optional": true,
3097
- "constraints": {
3098
- "notEmpty": false,
3099
- "pattern": {
3100
- "value": "^(=|([0-9]+|\\{\\{secrets\\..+\\}\\})$)",
3101
- "message": "Must be a timeout in seconds (default value is 20 seconds) or a FEEL expression"
3102
- }
3103
- }
3051
+ "type": "Number"
3052
+ },
3053
+ {
3054
+ "id": "version",
3055
+ "label": "Version",
3056
+ "description": "Version of the element template",
3057
+ "value": "8",
3058
+ "group": "connector",
3059
+ "binding": {
3060
+ "key": "elementTemplateVersion",
3061
+ "type": "zeebe:taskHeader"
3062
+ },
3063
+ "type": "Hidden"
3064
+ },
3065
+ {
3066
+ "id": "id",
3067
+ "label": "ID",
3068
+ "description": "ID of the element template",
3069
+ "value": "io.camunda.connectors.GraphQL.v1",
3070
+ "group": "connector",
3071
+ "binding": {
3072
+ "key": "elementTemplateId",
3073
+ "type": "zeebe:taskHeader"
3074
+ },
3075
+ "type": "Hidden"
3104
3076
  },
3105
3077
  {
3078
+ "id": "resultVariable",
3106
3079
  "label": "Result variable",
3107
3080
  "description": "Name of variable to store the response in",
3108
3081
  "group": "output",
3109
- "type": "String",
3110
3082
  "binding": {
3111
- "type": "zeebe:taskHeader",
3112
- "key": "resultVariable"
3113
- }
3083
+ "key": "resultVariable",
3084
+ "type": "zeebe:taskHeader"
3085
+ },
3086
+ "type": "String"
3114
3087
  },
3115
3088
  {
3089
+ "id": "resultExpression",
3116
3090
  "label": "Result expression",
3117
3091
  "description": "Expression to map the response into process variables",
3118
- "group": "output",
3119
- "type": "Text",
3120
3092
  "feel": "required",
3093
+ "group": "output",
3121
3094
  "binding": {
3122
- "type": "zeebe:taskHeader",
3123
- "key": "resultExpression"
3124
- }
3095
+ "key": "resultExpression",
3096
+ "type": "zeebe:taskHeader"
3097
+ },
3098
+ "type": "Text"
3125
3099
  },
3126
3100
  {
3101
+ "id": "errorExpression",
3127
3102
  "label": "Error expression",
3128
- "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/#bpmn-errors\" target=\"_blank\">documentation</a>",
3129
- "group": "errors",
3130
- "type": "Text",
3103
+ "description": "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.",
3131
3104
  "feel": "required",
3105
+ "group": "error",
3132
3106
  "binding": {
3133
- "type": "zeebe:taskHeader",
3134
- "key": "errorExpression"
3135
- }
3107
+ "key": "errorExpression",
3108
+ "type": "zeebe:taskHeader"
3109
+ },
3110
+ "type": "Text"
3111
+ },
3112
+ {
3113
+ "id": "retryCount",
3114
+ "label": "Retries",
3115
+ "description": "Number of retries",
3116
+ "value": "3",
3117
+ "feel": "optional",
3118
+ "group": "retries",
3119
+ "binding": {
3120
+ "property": "retries",
3121
+ "type": "zeebe:taskDefinition"
3122
+ },
3123
+ "type": "String"
3124
+ },
3125
+ {
3126
+ "id": "retryBackoff",
3127
+ "label": "Retry backoff",
3128
+ "description": "ISO-8601 duration to wait between retries",
3129
+ "value": "PT0S",
3130
+ "group": "retries",
3131
+ "binding": {
3132
+ "key": "retryBackoff",
3133
+ "type": "zeebe:taskHeader"
3134
+ },
3135
+ "type": "String"
3136
3136
  }
3137
3137
  ],
3138
- "engines": {
3139
- "camunda": "^8.2"
3138
+ "icon": {
3139
+ "contents": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyB2ZXJzaW9uPScxLjEnIGlkPSdHcmFwaFFMX0xvZ28nCiAgICAgeD0nMHB4JyB5PScwcHgnIHZpZXdCb3g9JzAgMCA0MDAgNDAwJyBlbmFibGUtYmFja2dyb3VuZD0nbmV3IDAgMCA0MDAgNDAwJyB4bWw6c3BhY2U9J3ByZXNlcnZlJz48Zz48Zz48Zz48cmVjdCB4PScxMjInIHk9Jy0wLjQnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjg2NiAtMC41IDAuNSAtMC44NjYgMTYzLjMxOTYgMzYzLjMxMzYpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PSczMjAuMycvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMzkuOCcgeT0nMjcyLjInIGZpbGw9JyNFNTM1QUInIHdpZHRoPSczMjAuMycgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PSczNy45JyB5PSczMTIuMicgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA4My4wNjkzIDY2My4zNDA5KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE4NScgaGVpZ2h0PScxNi42Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScxNzcuMScgeT0nNzEuMScgdHJhbnNmb3JtPSdtYXRyaXgoLTAuODY2IC0wLjUgMC41IC0wLjg2NiA0NjMuMzQwOSAyODMuMDY5MyknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxODUnIGhlaWdodD0nMTYuNicvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTIyLjEnIHk9Jy0xMycgdHJhbnNmb3JtPSdtYXRyaXgoLTAuNSAtMC44NjYgMC44NjYgLTAuNSAxMjYuNzkwMyAyMzIuMTIyMSknIGZpbGw9JyNFNTM1QUInIHdpZHRoPScxNi42JyBoZWlnaHQ9JzE4NScvPjwvZz48L2c+PGc+PGc+PHJlY3QgeD0nMTA5LjYnIHk9JzE1MS42JyB0cmFuc2Zvcm09J21hdHJpeCgtMC41IC0wLjg2NiAwLjg2NiAtMC41IDI2Ni4wODI4IDQ3My4zNzY2KScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzMyMC4zJyBoZWlnaHQ9JzE2LjYnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzUyLjUnIHk9JzEwNy41JyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTYuNicgaGVpZ2h0PScxODUnLz48L2c+PC9nPjxnPjxnPjxyZWN0IHg9JzMzMC45JyB5PScxMDcuNScgZmlsbD0nI0U1MzVBQicgd2lkdGg9JzE2LjYnIGhlaWdodD0nMTg1Jy8+PC9nPjwvZz48Zz48Zz48cmVjdCB4PScyNjIuNCcgeT0nMjQwLjEnIHRyYW5zZm9ybT0nbWF0cml4KC0wLjUgLTAuODY2IDAuODY2IC0wLjUgMTI2Ljc5NTMgNzE0LjI4NzUpJyBmaWxsPScjRTUzNUFCJyB3aWR0aD0nMTQuNScgaGVpZ2h0PScxNjAuOScvPjwvZz48L2c+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zNjkuNSwyOTcuOWMtOS42LDE2LjctMzEsMjIuNC00Ny43LDEyLjhjLTE2LjctOS42LTIyLjQtMzEtMTIuOC00Ny43YzkuNi0xNi43LDMxLTIyLjQsNDcuNy0xMi44IEMzNzMuNSwyNTkuOSwzNzkuMiwyODEuMiwzNjkuNSwyOTcuOScvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNOTAuOSwxMzdjLTkuNiwxNi43LTMxLDIyLjQtNDcuNywxMi44Yy0xNi43LTkuNi0yMi40LTMxLTEyLjgtNDcuN2M5LjYtMTYuNywzMS0yMi40LDQ3LjctMTIuOCBDOTQuOCw5OSwxMDAuNSwxMjAuMyw5MC45LDEzNycvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMzAuNSwyOTcuOWMtOS42LTE2LjctMy45LTM4LDEyLjgtNDcuN2MxNi43LTkuNiwzOC0zLjksNDcuNywxMi44YzkuNiwxNi43LDMuOSwzOC0xMi44LDQ3LjcgQzYxLjQsMzIwLjMsNDAuMSwzMTQuNiwzMC41LDI5Ny45Jy8+PHBhdGgKICAgICAgICBmaWxsPScjRTUzNUFCJwogICAgICAgIGQ9J00zMDkuMSwxMzdjLTkuNi0xNi43LTMuOS0zOCwxMi44LTQ3LjdjMTYuNy05LjYsMzgtMy45LDQ3LjcsMTIuOGM5LjYsMTYuNywzLjksMzgtMTIuOCw0Ny43IEMzNDAuMSwxNTkuNCwzMTguNywxNTMuNywzMDkuMSwxMzcnLz48cGF0aAogICAgICAgIGZpbGw9JyNFNTM1QUInCiAgICAgICAgZD0nTTIwMCwzOTUuOGMtMTkuMywwLTM0LjktMTUuNi0zNC45LTM0LjljMC0xOS4zLDE1LjYtMzQuOSwzNC45LTM0LjljMTkuMywwLDM0LjksMTUuNiwzNC45LDM0LjkgQzIzNC45LDM4MC4xLDIxOS4zLDM5NS44LDIwMCwzOTUuOCcvPjxwYXRoCiAgICAgICAgZmlsbD0nI0U1MzVBQicKICAgICAgICBkPSdNMjAwLDc0Yy0xOS4zLDAtMzQuOS0xNS42LTM0LjktMzQuOWMwLTE5LjMsMTUuNi0zNC45LDM0LjktMzQuOWMxOS4zLDAsMzQuOSwxNS42LDM0LjksMzQuOSBDMjM0LjksNTguNCwyMTkuMyw3NCwyMDAsNzQnLz48L2c+PC9zdmc+"
3140
3140
  }
3141
3141
  }
3142
3142
  ]