Skip to content

Commit

Permalink
Merge branch 'refs/heads/dev' into bugfix/#1706-cronjobconfiguration-…
Browse files Browse the repository at this point in the history
…property-of-s3-integration-mismatch
  • Loading branch information
lehju committed Jul 1, 2024
2 parents dbee453 + b630b2f commit 84df6c7
Show file tree
Hide file tree
Showing 86 changed files with 4,596 additions and 10 deletions.
8 changes: 8 additions & 0 deletions .github/workflows/workflow-build-services.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,14 @@ jobs:
push: true
tags: itatm/digiwf-ticket-integration-service:${{ inputs.release-version }}

- name: Build and push ticket-integration
if: inputs.build-images == true
uses: docker/build-push-action@v5
with:
context: ./digiwf-integrations/digiwf-openai-integration/digiwf-openai-integration-service
push: true
tags: itatm/digiwf-openai-integration-service:${{ inputs.release-version }}

build-services-camunda-ee:
runs-on: ubuntu-latest
steps:
Expand Down
22 changes: 22 additions & 0 deletions .run/OpenAiIntegrationServiceApplication.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="OpenAiIntegrationServiceApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<option name="ACTIVE_PROFILES" value="local,azure" />
<module name="digiwf-openai-integration-service" />
<option name="SPRING_BOOT_MAIN_CLASS" value="de.muenchen.oss.digiwf.openai.integration.OpenAiIntegrationApplication" />
<extension name="net.ashald.envfile">
<option name="IS_ENABLED" value="true" />
<option name="IS_SUBST" value="false" />
<option name="IS_PATH_MACRO_SUPPORTED" value="false" />
<option name="IS_IGNORE_MISSING_FILES" value="false" />
<option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
<ENTRIES>
<ENTRY IS_ENABLED="true" PARSER="runconfig" IS_EXECUTABLE="false" />
<ENTRY IS_ENABLED="true" PARSER="env" IS_EXECUTABLE="false" PATH="stack/local-docker.env" />
<ENTRY IS_ENABLED="true" PARSER="env" IS_EXECUTABLE="false" PATH="$USER_HOME$/openai.env" />
</ENTRIES>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,6 @@ de:
emailIntegration: "dwf-email-${DIGIWF_ENV}"
s3Integration: "dwf-s3-${DIGIWF_ENV}"
ticketIntegration: "dwf-ticket-${DIGIWF_ENV}"
openaiIntegration: "dwf-openai-${DIGIWF_ENV}"
# TODO: Remove this fallback after all processes are migrated to the new version. It's a legacy feature to avoid breaking changes.
deprecatedLegacyFeature: ${digiwf.streaming.connector.topics.dlq}
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_1c74zun" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="3.0.0-dev">
<bpmn:process id="openai-basic-chat" name="OpenAI: Chat" isExecutable="true">
<bpmn:startEvent id="StartEvent_1" camunda:asyncBefore="true" camunda:formKey="OpenAI_Chat_Start_Form">
<bpmn:outgoing>Flow_1ug7z2h</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_1ug7z2h" sourceRef="StartEvent_1" targetRef="Activity_0lh2naj" />
<bpmn:callActivity id="Activity_0lh2naj" name="Request AI" camunda:modelerTemplate="de.muenchen.digitalwf.templates.openai.chat" camunda:asyncBefore="true" camunda:asyncAfter="true" calledElement="StreamingTemplateV02">
<bpmn:extensionElements>
<camunda:in sourceExpression="openaiIntegration" target="app_integration_name" />
<camunda:in sourceExpression="basicChat" target="app_type_name" />
<camunda:in sourceExpression="${OpenAI_Message}" target="prompt" />
<camunda:out source="response" target="OpenAI_Response" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_1ug7z2h</bpmn:incoming>
<bpmn:outgoing>Flow_1bqv6th</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:sequenceFlow id="Flow_1bqv6th" sourceRef="Activity_0lh2naj" targetRef="Activity_1pqe30e" />
<bpmn:userTask id="Activity_1pqe30e" name="Check Antwort" camunda:modelerTemplate="de.muenchen.digiwf.templates.Usertask" camunda:asyncBefore="true" camunda:asyncAfter="true" camunda:assignee="${starterOfInstance}">
<bpmn:extensionElements>
<camunda:inputOutput>
<camunda:inputParameter name="app_task_description" />
<camunda:inputParameter name="app_task_tag" />
<camunda:inputParameter name="app_notification_send_candidate_groups">false</camunda:inputParameter>
<camunda:inputParameter name="app_notification_candidate_groups_addresses" />
<camunda:inputParameter name="app_notification_send_candidate_users">false</camunda:inputParameter>
<camunda:inputParameter name="app_notification_send_assignee">false</camunda:inputParameter>
<camunda:inputParameter name="mail_subject" />
<camunda:inputParameter name="mail_body" />
<camunda:inputParameter name="mail_bottom_text" />
<camunda:inputParameter name="app_assign_user_to_processinstance">false</camunda:inputParameter>
<camunda:inputParameter name="app_file_paths" />
<camunda:inputParameter name="app_file_paths_readonly" />
<camunda:inputParameter name="app_task_schema_key">OpenAI_Chat_Task_Form</camunda:inputParameter>
</camunda:inputOutput>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1bqv6th</bpmn:incoming>
<bpmn:outgoing>Flow_14liqyg</bpmn:outgoing>
</bpmn:userTask>
<bpmn:endEvent id="Event_029ic4f">
<bpmn:incoming>Flow_14liqyg</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_14liqyg" sourceRef="Activity_1pqe30e" targetRef="Event_029ic4f" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_185ibpc">
<bpmndi:BPMNEdge id="Flow_14liqyg_di" bpmnElement="Flow_14liqyg">
<di:waypoint x="530" y="177" />
<di:waypoint x="592" y="177" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1bqv6th_di" bpmnElement="Flow_1bqv6th">
<di:waypoint x="370" y="177" />
<di:waypoint x="430" y="177" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1ug7z2h_di" bpmnElement="Flow_1ug7z2h">
<di:waypoint x="215" y="177" />
<di:waypoint x="270" y="177" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
<dc:Bounds x="179" y="159" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1rukyla_di" bpmnElement="Activity_0lh2naj">
<dc:Bounds x="270" y="137" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1tqjbg8_di" bpmnElement="Activity_1pqe30e">
<dc:Bounds x="430" y="137" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_029ic4f_di" bpmnElement="Event_029ic4f">
<dc:Bounds x="592" y="159" width="36" height="36" />
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
"key": "OpenAI_Chat_Start_Form",
"schema": {
"key": "MyStartForm",
"type": "object",
"x-display": "stepper",
"allOf": [
{
"key": "sectionKey1",
"title": "OpenAI: Basic Chat",
"type": "object",
"x-options": {
"sectionsTitlesClasses": [
"d-none"
]
},
"allOf": [
{
"key": "feldgruppe1",
"title": "Chat",
"x-options": {
"childrenClass": "pr-5 pl-0"
},
"properties": {
"OpenAI_Message": {
"fieldType": "textarea",
"title": "Nachricht",
"x-display": "textarea",
"type": "string",
"key": "OpenAI_Message",
"x-options": {
"fieldColProps": {
"cols": 12,
"sm": 12
},
"messages": {}
},
"x-props": {
"outlined": true,
"dense": true
},
"x-rules": [
"required"
]
}
}
}
]
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"key": "OpenAI_Chat_Task_Form",
"schema": {
"key": "MyTaskForm",
"type": "object",
"x-display": "stepper",
"allOf": [
{
"key": "sectionKey1",
"title": "OpenAI: Basic Chat",
"type": "object",
"x-options": {
"sectionsTitlesClasses": [
"d-none"
]
},
"allOf": [
{
"key": "feldgruppe1",
"title": "Chat",
"description": "Anfrage",
"x-options": {
"childrenClass": "pr-5 pl-0"
},
"properties": {
"OpenAI_Message": {
"fieldType": "textarea",
"title": "Nachricht",
"x-display": "textarea",
"type": "string",
"key": "OpenAI_Message",
"readOnly": true,
"x-options": {
"fieldColProps": {
"cols": 12,
"sm": 12
},
"messages": {}
},
"x-props": {
"outlined": true,
"dense": true
},
"x-rules": [
"required"
]
}
}
},
{
"containerType": "group",
"title": "Antwort",
"description": "Antwort",
"key": "c653f177-27ba-41ba-9581-f30da063cd7e",
"x-options": {
"childrenClass": "pl-0"
},
"properties": {
"OpenAI_Response": {
"fieldType": "textarea",
"title": "Antwort",
"x-display": "textarea",
"type": "string",
"key": "OpenAI_Response",
"readOnly": true,
"x-options": {
"fieldColProps": {
"cols": 12,
"sm": 12
},
"messages": {}
},
"x-props": {
"outlined": true,
"dense": true
},
"x-rules": []
}
}
}
]
}
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"key": "openai-basic-chat",
"statusConfig": [
{
"key": "started",
"label": "Started",
"position": 1
},
{
"key": "finished",
"label": "Finished",
"position": 2
}
],
"statusDokument": "",
"configs": [
{
"key": "ignore_fields_on_start",
"value": "1"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_1c74zun" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="3.0.0-dev">
<bpmn:process id="openai-classify" name="OpenAI: Klassifizierung" isExecutable="true">
<bpmn:startEvent id="StartEvent_1" camunda:asyncBefore="true" camunda:formKey="OpenAI_Classify_Start_Form">
<bpmn:outgoing>Flow_1ug7z2h</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_1ug7z2h" sourceRef="StartEvent_1" targetRef="Activity_0lh2naj" />
<bpmn:callActivity id="Activity_0lh2naj" name="Request AI" camunda:modelerTemplate="de.muenchen.digitalwf.templates.openai.classify" camunda:asyncBefore="true" camunda:asyncAfter="true" calledElement="StreamingTemplateV02">
<bpmn:extensionElements>
<camunda:in sourceExpression="openaiIntegration" target="app_integration_name" />
<camunda:in sourceExpression="classify" target="app_type_name" />
<camunda:in sourceExpression="${OpenAI_JSON}" target="json" />
<camunda:in sourceExpression="${OpenAI_Options}" target="options" />
<camunda:out source="response" target="OpenAI_Response" />
</bpmn:extensionElements>
<bpmn:incoming>Flow_1ug7z2h</bpmn:incoming>
<bpmn:outgoing>Flow_1bqv6th</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:sequenceFlow id="Flow_1bqv6th" sourceRef="Activity_0lh2naj" targetRef="Activity_1pqe30e" />
<bpmn:userTask id="Activity_1pqe30e" name="Check Antwort" camunda:modelerTemplate="de.muenchen.digiwf.templates.Usertask" camunda:asyncBefore="true" camunda:asyncAfter="true" camunda:assignee="${starterOfInstance}">
<bpmn:extensionElements>
<camunda:inputOutput>
<camunda:inputParameter name="app_task_description" />
<camunda:inputParameter name="app_task_tag" />
<camunda:inputParameter name="app_notification_send_candidate_groups">false</camunda:inputParameter>
<camunda:inputParameter name="app_notification_candidate_groups_addresses" />
<camunda:inputParameter name="app_notification_send_candidate_users">false</camunda:inputParameter>
<camunda:inputParameter name="app_notification_send_assignee">false</camunda:inputParameter>
<camunda:inputParameter name="mail_subject" />
<camunda:inputParameter name="mail_body" />
<camunda:inputParameter name="mail_bottom_text" />
<camunda:inputParameter name="app_assign_user_to_processinstance">false</camunda:inputParameter>
<camunda:inputParameter name="app_file_paths" />
<camunda:inputParameter name="app_file_paths_readonly" />
<camunda:inputParameter name="app_task_schema_key">OpenAI_Classify_Task_Form</camunda:inputParameter>
</camunda:inputOutput>
</bpmn:extensionElements>
<bpmn:incoming>Flow_1bqv6th</bpmn:incoming>
<bpmn:outgoing>Flow_14liqyg</bpmn:outgoing>
</bpmn:userTask>
<bpmn:endEvent id="Event_029ic4f">
<bpmn:incoming>Flow_14liqyg</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_14liqyg" sourceRef="Activity_1pqe30e" targetRef="Event_029ic4f" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_185ibpc">
<bpmndi:BPMNEdge id="Flow_14liqyg_di" bpmnElement="Flow_14liqyg">
<di:waypoint x="530" y="177" />
<di:waypoint x="592" y="177" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1bqv6th_di" bpmnElement="Flow_1bqv6th">
<di:waypoint x="370" y="177" />
<di:waypoint x="430" y="177" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1ug7z2h_di" bpmnElement="Flow_1ug7z2h">
<di:waypoint x="215" y="177" />
<di:waypoint x="270" y="177" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
<dc:Bounds x="179" y="159" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1rukyla_di" bpmnElement="Activity_0lh2naj">
<dc:Bounds x="270" y="137" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1tqjbg8_di" bpmnElement="Activity_1pqe30e">
<dc:Bounds x="430" y="137" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_029ic4f_di" bpmnElement="Event_029ic4f">
<dc:Bounds x="592" y="159" width="36" height="36" />
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
Loading

0 comments on commit 84df6c7

Please sign in to comment.