diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 87d78f0..bc85755 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -4,9 +4,9 @@ on:
push:
pull_request:
schedule:
- - cron: '21 21 * * *'
+ - cron: '21 21 * * *'
workflow_dispatch:
jobs:
build:
- uses: axonivy-market/github-workflows/.github/workflows/ci.yml@v4
+ uses: axonivy-market/github-workflows/.github/workflows/ci.yml@v5
diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml
index c2fee37..ae5e6c3 100644
--- a/.github/workflows/dev.yml
+++ b/.github/workflows/dev.yml
@@ -8,4 +8,4 @@ on:
jobs:
build:
- uses: axonivy-market/github-workflows/.github/workflows/dev.yml@v4
+ uses: axonivy-market/github-workflows/.github/workflows/dev.yml@v5
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index ab5b0d7..bc801b4 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -4,4 +4,4 @@ on: workflow_dispatch
jobs:
build:
- uses: axonivy-market/github-workflows/.github/workflows/release.yml@v4
+ uses: axonivy-market/github-workflows/.github/workflows/release.yml@v5
diff --git a/mattermost-connector-demo/.classpath b/mattermost-connector-demo/.classpath
index 45a97e4..8228714 100644
--- a/mattermost-connector-demo/.classpath
+++ b/mattermost-connector-demo/.classpath
@@ -5,12 +5,7 @@
-
-
-
-
-
-
+
diff --git a/mattermost-connector-demo/.project b/mattermost-connector-demo/.project
index d9c1ede..8797e35 100644
--- a/mattermost-connector-demo/.project
+++ b/mattermost-connector-demo/.project
@@ -25,6 +25,11 @@
+
+ ch.ivyteam.ivy.dialog.form.build.ivyDialogFormBuilder
+
+
+
ch.ivyteam.ivy.designer.ide.ivyModelValidationBuilder
@@ -44,6 +49,5 @@
org.eclipse.m2e.core.maven2Nature
org.eclipse.jem.beaninfo.BeanInfoNature
org.eclipse.wst.common.project.facet.core.nature
- org.eclipse.wst.jsdt.core.jsNature
-
+
\ No newline at end of file
diff --git a/mattermost-connector-demo/.settings/.jsdtscope b/mattermost-connector-demo/.settings/.jsdtscope
deleted file mode 100644
index 869c01d..0000000
--- a/mattermost-connector-demo/.settings/.jsdtscope
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/mattermost-connector-demo/.settings/ch.ivyteam.ivy.designer.prefs b/mattermost-connector-demo/.settings/ch.ivyteam.ivy.designer.prefs
index 6b09b78..42748ab 100644
--- a/mattermost-connector-demo/.settings/ch.ivyteam.ivy.designer.prefs
+++ b/mattermost-connector-demo/.settings/ch.ivyteam.ivy.designer.prefs
@@ -1,5 +1,4 @@
-ch.ivyteam.ivy.designer.preferences.DataClassPreferencePage\:DEFAULT_DATA_CLASS=com.axonivy.connector.mattermost.connector.demo.Data
ch.ivyteam.ivy.designer.preferences.DataClassPreferencePage\:DEFAULT_NAMESPACE=com.axonivy.connector.mattermost.connector.demo
-ch.ivyteam.ivy.project.preferences\:PRIMEFACES_VERSION=11
-ch.ivyteam.ivy.project.preferences\:PROJECT_VERSION=100000
+ch.ivyteam.ivy.project.preferences\:PRIMEFACES_VERSION=13
+ch.ivyteam.ivy.project.preferences\:PROJECT_VERSION=120001
eclipse.preferences.version=1
diff --git a/mattermost-connector-demo/.settings/org.eclipse.jdt.core.prefs b/mattermost-connector-demo/.settings/org.eclipse.jdt.core.prefs
index d4540a5..3a79233 100644
--- a/mattermost-connector-demo/.settings/org.eclipse.jdt.core.prefs
+++ b/mattermost-connector-demo/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
+org.eclipse.jdt.core.compiler.source=21
diff --git a/mattermost-connector-demo/.settings/org.eclipse.wst.common.component b/mattermost-connector-demo/.settings/org.eclipse.wst.common.component
index 6956a1d..4318786 100644
--- a/mattermost-connector-demo/.settings/org.eclipse.wst.common.component
+++ b/mattermost-connector-demo/.settings/org.eclipse.wst.common.component
@@ -2,10 +2,9 @@
-
-
+
\ No newline at end of file
diff --git a/mattermost-connector-demo/.settings/org.eclipse.wst.common.project.facet.core.xml b/mattermost-connector-demo/.settings/org.eclipse.wst.common.project.facet.core.xml
index 156ecdb..621b1f8 100644
--- a/mattermost-connector-demo/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ b/mattermost-connector-demo/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -1,8 +1,6 @@
-
-
+
-
-
+
\ No newline at end of file
diff --git a/mattermost-connector-demo/.settings/org.eclipse.wst.jsdt.ui.superType.container b/mattermost-connector-demo/.settings/org.eclipse.wst.jsdt.ui.superType.container
deleted file mode 100644
index 3bd5d0a..0000000
--- a/mattermost-connector-demo/.settings/org.eclipse.wst.jsdt.ui.superType.container
+++ /dev/null
@@ -1 +0,0 @@
-org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
diff --git a/mattermost-connector-demo/.settings/org.eclipse.wst.jsdt.ui.superType.name b/mattermost-connector-demo/.settings/org.eclipse.wst.jsdt.ui.superType.name
deleted file mode 100644
index 05bd71b..0000000
--- a/mattermost-connector-demo/.settings/org.eclipse.wst.jsdt.ui.superType.name
+++ /dev/null
@@ -1 +0,0 @@
-Window
\ No newline at end of file
diff --git a/mattermost-connector-demo/config/variables.yaml b/mattermost-connector-demo/config/variables.yaml
index 64c8fa0..4448394 100644
--- a/mattermost-connector-demo/config/variables.yaml
+++ b/mattermost-connector-demo/config/variables.yaml
@@ -1,3 +1,4 @@
+# yaml-language-server: $schema=https://json-schema.axonivy.com/app/12.0.0/variables.json
# == Variables ==
#
# You can define here your project Variables.
diff --git a/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/Data.d.json b/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/Data.d.json
new file mode 100644
index 0000000..a5d8f27
--- /dev/null
+++ b/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/Data.d.json
@@ -0,0 +1,10 @@
+{
+ "$schema" : "https://json-schema.axonivy.com/data-class/12.0.0/data-class.json",
+ "simpleName" : "Data",
+ "namespace" : "com.axonivy.connector.mattermost.connector.demo",
+ "isBusinessCaseData" : false,
+ "fields" : [ {
+ "name" : "result",
+ "type" : "List"
+ } ]
+}
\ No newline at end of file
diff --git a/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/Data.ivyClass b/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/Data.ivyClass
deleted file mode 100644
index ff2fe4b..0000000
--- a/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/Data.ivyClass
+++ /dev/null
@@ -1,3 +0,0 @@
-Data #class
-com.axonivy.connector.mattermost.connector.demo #namespace
-result List #field
diff --git a/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/MattermostConnectorWebhookDemoData.d.json b/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/MattermostConnectorWebhookDemoData.d.json
new file mode 100644
index 0000000..f5c80d8
--- /dev/null
+++ b/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/MattermostConnectorWebhookDemoData.d.json
@@ -0,0 +1,15 @@
+{
+ "$schema" : "https://json-schema.axonivy.com/data-class/12.0.0/data-class.json",
+ "simpleName" : "MattermostConnectorWebhookDemoData",
+ "namespace" : "com.axonivy.connector.mattermost.connector.demo",
+ "isBusinessCaseData" : false,
+ "fields" : [ {
+ "name" : "message",
+ "type" : "String",
+ "modifiers" : [ "PERSISTENT" ]
+ }, {
+ "name" : "channelId",
+ "type" : "String",
+ "modifiers" : [ "PERSISTENT" ]
+ } ]
+}
\ No newline at end of file
diff --git a/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/MattermostConnectorWebhookDemoData.ivyClass b/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/MattermostConnectorWebhookDemoData.ivyClass
deleted file mode 100644
index bbab647..0000000
--- a/mattermost-connector-demo/dataclasses/com/axonivy/connector/mattermost/connector/demo/MattermostConnectorWebhookDemoData.ivyClass
+++ /dev/null
@@ -1,6 +0,0 @@
-MattermostConnectorWebhookDemoData #class
-com.axonivy.connector.mattermost.connector.demo #namespace
-message String #field
-message PERSISTENT #fieldModifier
-channelId String #field
-channelId PERSISTENT #fieldModifier
diff --git a/mattermost-connector-demo/pom.xml b/mattermost-connector-demo/pom.xml
index f25c774..d159b1a 100644
--- a/mattermost-connector-demo/pom.xml
+++ b/mattermost-connector-demo/pom.xml
@@ -3,10 +3,10 @@
4.0.0
com.axonivy.connector.mattermost
mattermost-connector-demo
- 10.0.22-SNAPSHOT
+ 12.0.0-SNAPSHOT
iar
- 10.0.16
+ 12.0.0
diff --git a/mattermost-connector-demo/processes/MattermostConnectorWebhookDemo.p.json b/mattermost-connector-demo/processes/MattermostConnectorWebhookDemo.p.json
index 984444c..f9ad465 100644
--- a/mattermost-connector-demo/processes/MattermostConnectorWebhookDemo.p.json
+++ b/mattermost-connector-demo/processes/MattermostConnectorWebhookDemo.p.json
@@ -1,5 +1,5 @@
{
- "format" : "10.0.0",
+ "$schema" : "https://json-schema.axonivy.com/process/12.0.0/process.json",
"id" : "18F952928A1574A7",
"config" : {
"data" : "com.axonivy.connector.mattermost.connector.demo.MattermostConnectorWebhookDemoData"
@@ -10,6 +10,7 @@
"name" : "Check Team Absences",
"config" : {
"signalCode" : "CheckTeamAbsences",
+ "attachToBusinessCase" : false,
"output" : {
"map" : {
"out.channelId" : "signal.getSignalData() as String"
@@ -18,15 +19,18 @@
"import com.axonivy.connector.mattermost.enums.CustomField;",
"ivy.case.customFields().stringField(CustomField.CHANNEL_ID.getFieldName()).set(out.channelId);"
]
- },
- "attachToBusinessCase" : "false",
- "tags" : "demo"
+ }
},
+ "tags" : [
+ "demo"
+ ],
"visual" : {
"at" : { "x" : 104, "y" : 112 },
"labelOffset" : { "x" : 17, "y" : -23 }
},
- "connect" : { "id" : "f3", "to" : "f2" }
+ "connect" : [
+ { "id" : "f3", "to" : "f2" }
+ ]
}, {
"id" : "f1",
"type" : "TaskEnd",
@@ -41,7 +45,7 @@
"task" : {
"name" : "Check Team Absences",
"responsible" : {
- "role" : "Leader"
+ "activator" : "Leader"
}
}
},
@@ -49,14 +53,15 @@
"at" : { "x" : 232, "y" : 112 },
"labelOffset" : { "x" : 14, "y" : 34 }
},
- "connect" : { "id" : "f6", "to" : "f5" }
+ "connect" : [
+ { "id" : "f6", "to" : "f5" }
+ ]
}, {
"id" : "f5",
"type" : "DialogCall",
"name" : "TeamAbsences",
"config" : {
- "dialogId" : "com.axonivy.connector.mattermost.connector.demo.TeamAbsences",
- "startMethod" : "start()",
+ "dialog" : "com.axonivy.connector.mattermost.connector.demo.TeamAbsences:start()",
"output" : {
"map" : {
"out" : "in",
@@ -67,7 +72,9 @@
"visual" : {
"at" : { "x" : 360, "y" : 112 }
},
- "connect" : { "id" : "f17", "to" : "f16" }
+ "connect" : [
+ { "id" : "f17", "to" : "f16" }
+ ]
}, {
"id" : "f7",
"type" : "Script",
@@ -85,7 +92,9 @@
"visual" : {
"at" : { "x" : 648, "y" : 112 }
},
- "connect" : { "id" : "f4", "to" : "f1" }
+ "connect" : [
+ { "id" : "f4", "to" : "f1" }
+ ]
}, {
"id" : "f16",
"type" : "TaskSwitchEvent",
@@ -94,7 +103,7 @@
"task" : {
"name" : "Send message to channel",
"responsible" : {
- "role" : "SYSTEM"
+ "activator" : "SYSTEM"
}
}
},
@@ -102,6 +111,8 @@
"at" : { "x" : 504, "y" : 112 },
"labelOffset" : { "x" : 14, "y" : 34 }
},
- "connect" : { "id" : "f8", "to" : "f7" }
+ "connect" : [
+ { "id" : "f8", "to" : "f7" }
+ ]
} ]
}
\ No newline at end of file
diff --git a/mattermost-connector-demo/src/com/axonivy/connector/mattermost/demo/service/MattermostSlashCommandService.java b/mattermost-connector-demo/src/com/axonivy/connector/mattermost/demo/service/MattermostSlashCommandService.java
index 0227a26..7e9a5b1 100644
--- a/mattermost-connector-demo/src/com/axonivy/connector/mattermost/demo/service/MattermostSlashCommandService.java
+++ b/mattermost-connector-demo/src/com/axonivy/connector/mattermost/demo/service/MattermostSlashCommandService.java
@@ -12,7 +12,6 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import ch.ivyteam.ivy.environment.Ivy;
-import ch.ivyteam.ivy.process.model.value.SignalCode;
@Path("/mattermost/slashCommand")
@PermitAll
@@ -22,7 +21,8 @@ public String startProcess(@BeanParam SlashCommandGetRequestParameter parameter)
SlashCommandResponse response = new SlashCommandResponse();
response.setResponseType("in_channel");
response.setText(String.format("Process CheckTeamAbsences has been started by %s", parameter.getUserName()));
- Ivy.wf().signals().send(new SignalCode("CheckTeamAbsences"), parameter.getChannelId());
+ Ivy.wf().signals().create().data(parameter.getChannelId()).makeCurrentTaskPersistent()
+ .send("CheckTeamAbsences");
ObjectMapper mapper = new ObjectMapper();
try {
return mapper.writeValueAsString(response);
diff --git a/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsences.rddescriptor b/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsences.rddescriptor
deleted file mode 100644
index ae605f0..0000000
--- a/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsences.rddescriptor
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
- viewTechnology
- JSF
-
-
diff --git a/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsencesData.d.json b/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsencesData.d.json
new file mode 100644
index 0000000..6efc421
--- /dev/null
+++ b/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsencesData.d.json
@@ -0,0 +1,11 @@
+{
+ "$schema" : "https://json-schema.axonivy.com/data-class/12.0.0/data-class.json",
+ "simpleName" : "TeamAbsencesData",
+ "namespace" : "com.axonivy.connector.mattermost.connector.demo.TeamAbsences",
+ "isBusinessCaseData" : false,
+ "fields" : [ {
+ "name" : "message",
+ "type" : "String",
+ "modifiers" : [ "PERSISTENT" ]
+ } ]
+}
\ No newline at end of file
diff --git a/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsencesData.ivyClass b/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsencesData.ivyClass
deleted file mode 100644
index 94dc11e..0000000
--- a/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsencesData.ivyClass
+++ /dev/null
@@ -1,4 +0,0 @@
-TeamAbsencesData #class
-com.axonivy.connector.mattermost.connector.demo.TeamAbsences #namespace
-message String #field
-message PERSISTENT #fieldModifier
diff --git a/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsencesProcess.p.json b/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsencesProcess.p.json
index 54da30f..158c7a0 100644
--- a/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsencesProcess.p.json
+++ b/mattermost-connector-demo/src_hd/com/axonivy/connector/mattermost/connector/demo/TeamAbsences/TeamAbsencesProcess.p.json
@@ -1,5 +1,5 @@
{
- "format" : "10.0.0",
+ "$schema" : "https://json-schema.axonivy.com/process/12.0.0/process.json",
"id" : "18F953D50A711458",
"kind" : "HTML_DIALOG",
"config" : {
@@ -10,10 +10,10 @@
"type" : "HtmlDialogStart",
"name" : "start()",
"config" : {
- "callSignature" : "start",
+ "signature" : "start",
"result" : {
"params" : [
- { "name" : "message", "type" : "String" }
+ { "name" : "message", "type" : "String", "desc" : "" }
],
"map" : {
"result.message" : "in.message"
@@ -24,7 +24,9 @@
"visual" : {
"at" : { "x" : 96, "y" : 64 }
},
- "connect" : { "id" : "f2", "to" : "f1" }
+ "connect" : [
+ { "id" : "f2", "to" : "f1" }
+ ]
}, {
"id" : "f1",
"type" : "HtmlDialogEnd",
@@ -41,7 +43,9 @@
"visual" : {
"at" : { "x" : 96, "y" : 160 }
},
- "connect" : { "id" : "f5", "to" : "f4" }
+ "connect" : [
+ { "id" : "f5", "to" : "f4" }
+ ]
}, {
"id" : "f4",
"type" : "HtmlDialogExit",
diff --git a/mattermost-connector-demo/webContent/layouts/frame-10.xhtml b/mattermost-connector-demo/webContent/layouts/frame-10.xhtml
index caee274..be8785d 100644
--- a/mattermost-connector-demo/webContent/layouts/frame-10.xhtml
+++ b/mattermost-connector-demo/webContent/layouts/frame-10.xhtml
@@ -32,7 +32,7 @@ and refence it below in the head part.
-
+