Size: a a a

Camunda BPM Group

2020 July 02

SD

Serg D. in Camunda BPM Group
Ну вы же через REST API с камундой общаетесь? Оно довольно хорошо документировано. Видели там что-то похожее на то, что вам нужно?)
источник

SD

Serg D. in Camunda BPM Group
Процесс сам по себе не возвращает никакого результата. В любом случае получается асинхрон. Результат нужно в конце куда-то засетапить.
источник
2020 July 03

I

Ivan Khozyainov ITSu... in Camunda BPM Group
добрый день,
а никто не знает возможно ли создать task, привязанный сразу к процессу какому-нибудь?

т.е. через рест-апи я могу получить такой список:

curl -X GET http://localhost:8080/engine-rest/task | python -m json.tool

[
   {
       "id": "0eae2a01-bac5-11ea-8700-5254000b8b9b",
       "name": "\u041f",
       "assignee": "demo",
       "created": "2020-01-01T00:00:00.0000+0000",
       "due": null,
       "followUp": null,
       "delegationState": null,
       "description": null,
       "executionId": "0eae29fd-bac5-11ea-8700-5254000b8b9b",
       "owner": null,
       "parentTaskId": null,
       "priority": 50,
       "processDefinitionId": "Process_0rpzw1j:2:1fc2d1ef-ba9b-11ea-8700-5254000b8b9b",
       "processInstanceId": "0eaddba8-bac5-11ea-8700-5254000b8b9b",
       "taskDefinitionKey": "Activity_1ji0oe8",
       "caseExecutionId": null,
       "caseInstanceId": null,
       "caseDefinitionId": null,
       "suspended": false,
       "formKey": null,
       "tenantId": null
   }
]


могу ли я каким-то образом указать processDefenitionId, taskDefinitionKey?
если создавать через рест-апи таск, то такое вроде нельзя
https://docs.camunda.org/manual/7.7/reference/rest/task/post-create/

может есть способ как-то уже созданный таск привязать к процессу?
источник

DP

Dmitrii Pisarenko in Camunda BPM Group
Ivan Khozyainov ITSumma
добрый день,
а никто не знает возможно ли создать task, привязанный сразу к процессу какому-нибудь?

т.е. через рест-апи я могу получить такой список:

curl -X GET http://localhost:8080/engine-rest/task | python -m json.tool

[
   {
       "id": "0eae2a01-bac5-11ea-8700-5254000b8b9b",
       "name": "\u041f",
       "assignee": "demo",
       "created": "2020-01-01T00:00:00.0000+0000",
       "due": null,
       "followUp": null,
       "delegationState": null,
       "description": null,
       "executionId": "0eae29fd-bac5-11ea-8700-5254000b8b9b",
       "owner": null,
       "parentTaskId": null,
       "priority": 50,
       "processDefinitionId": "Process_0rpzw1j:2:1fc2d1ef-ba9b-11ea-8700-5254000b8b9b",
       "processInstanceId": "0eaddba8-bac5-11ea-8700-5254000b8b9b",
       "taskDefinitionKey": "Activity_1ji0oe8",
       "caseExecutionId": null,
       "caseInstanceId": null,
       "caseDefinitionId": null,
       "suspended": false,
       "formKey": null,
       "tenantId": null
   }
]


могу ли я каким-то образом указать processDefenitionId, taskDefinitionKey?
если создавать через рест-апи таск, то такое вроде нельзя
https://docs.camunda.org/manual/7.7/reference/rest/task/post-create/

может есть способ как-то уже созданный таск привязать к процессу?
Когда стартует user task (activity), автоматически появляется таск, привязанный к нему. Когда в тасклисте этот таск завершается, автоматически завершается соотв. активность.
источник

I

Ivan Khozyainov ITSu... in Camunda BPM Group
то есть отдельный таск "перепривязать" не получится? только с самого начала должен быть привязан?
источник

I

Ivan Khozyainov ITSu... in Camunda BPM Group
например, если создан таким образом через рест-апи? https://docs.camunda.org/manual/7.7/reference/rest/task/post-create/
источник

DP

Dmitrii Pisarenko in Camunda BPM Group
Зачем Вам «пепепривязывать» таск?
источник

I

Ivan Khozyainov ITSu... in Camunda BPM Group
Dmitrii Pisarenko
Зачем Вам «пепепривязывать» таск?
это хороший вопрос, возможно не по тому пути иду
задача - создавать таски из внешней формы какой-нибудь и затем (если например похожие поля), привязывать к определенному процессу

еще это показалось достаточно простым способом сохранять данные о задаче в пользовательской базе (например, mysql) и затем оперировать сущностями только на уровне внешнего приложения, а для камунды только генерировать айдишники какие-нибудь
источник

I

Ivan Khozyainov ITSu... in Camunda BPM Group
но я так понимаю, что видимо мимо пройти не получится)
источник

DP

Dmitrii Pisarenko in Camunda BPM Group
Ivan Khozyainov ITSumma
это хороший вопрос, возможно не по тому пути иду
задача - создавать таски из внешней формы какой-нибудь и затем (если например похожие поля), привязывать к определенному процессу

еще это показалось достаточно простым способом сохранять данные о задаче в пользовательской базе (например, mysql) и затем оперировать сущностями только на уровне внешнего приложения, а для камунды только генерировать айдишники какие-нибудь
> задача - создавать таски из внешней формы какой-нибудь и затем (если например похожие поля), привязывать к определенному процессу

Я бы сделал так: Когда в этой внешней форме пользователь ввел все данные и нажал "Отправить", эта форма отправляет REST-запрос в Камунду.

Какой это может быть REST-запрос?

Я вижу как минимум следующие варианты:

1. Старт процесса. Пользователь ввел данные, после этого запускается экземпляр процесса в Камунде с данными из формы.

Детали: https://docs.camunda.org/manual/7.13/reference/rest/process-definition/post-start-process-instance/

2. Ожидание сообщения. У Вас уже запущен экземпляр процесса и в нем есть событие, ожидающее сообщение. Когда пользователь ввел данные в форме, она отправляет в Камунду запрос "событие Х произошло."

Детали: https://docs.camunda.org/manual/latest/reference/rest/message/post-message/
источник

A

Alexander in Camunda BPM Group
Коллеги вопрос по рест апи и лучшим практикам с точки зрения запуска процесса. Как лучше запускать процесс? Из бекенда дергать эндпоинт старт. Пример есть форма стороннего приложения в котором появляется флаг «1» полный джейсон прилетает на эндпоинт воркера- вебхук, дальше должен стартануть процесс.
источник

A

Alexander in Camunda BPM Group
И второй вопрос, 1с. Если экстрернел таск забирает и лочит процесс и он переходит в 1с комплексный процесс, там проходит все шаги и возвращает джейсон и процесс камунды идёт дальше. Это рабочая схема?
источник

I

Ivan Khozyainov ITSu... in Camunda BPM Group
Dmitrii Pisarenko
> задача - создавать таски из внешней формы какой-нибудь и затем (если например похожие поля), привязывать к определенному процессу

Я бы сделал так: Когда в этой внешней форме пользователь ввел все данные и нажал "Отправить", эта форма отправляет REST-запрос в Камунду.

Какой это может быть REST-запрос?

Я вижу как минимум следующие варианты:

1. Старт процесса. Пользователь ввел данные, после этого запускается экземпляр процесса в Камунде с данными из формы.

Детали: https://docs.camunda.org/manual/7.13/reference/rest/process-definition/post-start-process-instance/

2. Ожидание сообщения. У Вас уже запущен экземпляр процесса и в нем есть событие, ожидающее сообщение. Когда пользователь ввел данные в форме, она отправляет в Камунду запрос "событие Х произошло."

Детали: https://docs.camunda.org/manual/latest/reference/rest/message/post-message/
понял, спасибо большое
про генерацию событий через мессаджи не додумался
то есть по факту можно свой апи реализовать посредством этого механизма
источник

SD

Serg D. in Camunda BPM Group
Alexander
Коллеги вопрос по рест апи и лучшим практикам с точки зрения запуска процесса. Как лучше запускать процесс? Из бекенда дергать эндпоинт старт. Пример есть форма стороннего приложения в котором появляется флаг «1» полный джейсон прилетает на эндпоинт воркера- вебхук, дальше должен стартануть процесс.
Вы должны в первую очередь исходить из Вашей целевой архитектуры. С одной стороны "Да", если у Вас уже есть готовое backend приложение, то клиенту не нужно знать, что там есть камунда, Вы оперируете своим собственным API и можете заменить камунду или вообще убрать бизнес процессы без необходимости менять клиентский код. С другой стороны, если у Вас камунда это отдельное приложение, запущенное "из коробки", то без особой необходимости, наверное, нет смысла прикручивать к ней свое API, которое по сути будет дублировать основной функционал штатного API.
 Из бекенда дергать эндпоинт старт
если Camunda у вас embeded, то можно стартовать через Java API.

 Это рабочая схема?
Не знаком с комплексными процессами 1С, но если они будут выполняться как external task, не вижу причин чтобы схема была не рабочей.
источник

A

Alexander in Camunda BPM Group
Serg D.
Вы должны в первую очередь исходить из Вашей целевой архитектуры. С одной стороны "Да", если у Вас уже есть готовое backend приложение, то клиенту не нужно знать, что там есть камунда, Вы оперируете своим собственным API и можете заменить камунду или вообще убрать бизнес процессы без необходимости менять клиентский код. С другой стороны, если у Вас камунда это отдельное приложение, запущенное "из коробки", то без особой необходимости, наверное, нет смысла прикручивать к ней свое API, которое по сути будет дублировать основной функционал штатного API.
 Из бекенда дергать эндпоинт старт
если Camunda у вас embeded, то можно стартовать через Java API.

 Это рабочая схема?
Не знаком с комплексными процессами 1С, но если они будут выполняться как external task, не вижу причин чтобы схема была не рабочей.
Спасибо 🙏🏻
источник

D

DooDLeZz* in Camunda BPM Group
Всем доброго времени суток. Мой вопрос может оказаться нубским, тем не менее. Допустим, я удалил всех юзеров в камунда, соответственно авторизоваться я не могу. Как получить админский доступ к камунде, чтобы создать новых юзеров и раздать им роли?
источник

DK

Denis Kotov in Camunda BPM Group
Если рест без авторизации, то через него можно
источник

DK

Denis Kotov in Camunda BPM Group
Или в таблице юзера создать рукой
источник

D

DooDLeZz* in Camunda BPM Group
Это все возможные методы? А допускает ли камунда "вынесение" админского аккаунта в конфиг-файл например?
источник

D

DooDLeZz* in Camunda BPM Group
Вопрос подразумевает подобный функционал "из коробки". Уверен умельцы уже дописали подобные модули)
источник