Невозможно использовать рабочий процесс с помощью osworkflow.jar в jira 8.18.0
Мы разработали плагин в jira и используем osworkflow для определения собственного рабочего процесса. Наш плагин работает в jira, и когда я пытаюсь инициализировать рабочий процесс, мы получаем эту ошибку в jira.log
Caesium-1-3 ОШИБКА
ServiceRunner [cajira.workflow.DefaultOSWorkflowConfigurator] Отклонение использования небезопасной функции/класса рабочего процесса:com.service.workflow.condition.PermissionCondition
. Вы можете включить использование этого класса, добавивcom.atlassian.jira.security.LegacyJiraTypeResolver.WARN_ONLY.enabled
флаг темной функции в Jira. Делайте это только в том случае, если вы уверены, что это известный и безопасный случай. Это сделает Jira уязвимой для потенциальных атак.
и ниже напечатано исключение
[INFO] [talledLocalContainer]com.opensymphony.workflow.WorkflowException: не удалось загрузить условие [INFO] [talledLocalContainer] в com.opensymphony.workflow.AbstractWorkflow.passesCondition(AbstractWorkflow.java:1045)[INFO] [talledLocalContainer] в com.opensymphony.workflow.AbstractWorkflow.passesConditions(AbstractWorkflow.java:1083)[INFO] [talledLocalContainer] в com.opensymphony.workflow.AbstractWorkflow.passesConditions(AbstractWorkflow.java:1107)[INFO] [talledLocalContainer] в com.opensymphony.workflow.AbstractWorkflow.canInitialize(AbstractWorkflow.java:862)[INFO] [talledLocalContainer] в com.opensymphony.workflow.AbstractWorkflow.initialize(AbstractWorkflow.java:598)
Наш файл osworkflow.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.8//EN" "http://www.opensymphony.com/osworkflow/workflow_2_8.dtd">
<workflow>
<initial-actions>
<action id="1" name="Distribute">
<meta name="addon.i18n.submit">com.form.distribute</meta>
<meta name="addon.i18n.title">com.form.distribute</meta>
<meta name="addon.description">com.form.distribute</meta>
<meta name="addon.dist.status.id">1</meta>
<meta name="addon.dist.user.status.id">1</meta>
<restrict-to>
<conditions>
<condition type="class">
<arg name="permission">HAS_DISTRIBUTION_PERMISSION</arg>
<arg name="class.name">com.service.workflow.condition.PermissionCondition</arg>
</condition>
</conditions>
</restrict-to>
<results>
<unconditional-result old-status="null" status="Open"
step="1">
<post-functions>
<function type="class">
<arg name="class.name">com.service.workflow.function.form.DistributeForm</arg>
</function>
<function type="class">
<arg name="class.name">com.service.workflow.function.form.AssignToReviewer</arg>
</function>
<function type="class">
<arg name="class.name">com.service.workflow.function.form.SendFormActionMail</arg>
<arg name="mail.action">1</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</initial-actions>
<common-actions>
<action id="21" name="Distribution Close">
<meta name="addon.i18n.submit">com.form.distribution.user.close</meta>
<meta name="addon.i18n.title">com.form.distribution.user.close</meta>
<meta name="addon.description">com.form.response.close.confirmation.message</meta>
<meta name="addon.user.action">false</meta>
<results>
<unconditional-result old-status="Open" status="close" step="-1">
<post-functions>
<function type="class">
<arg name="class.name">com.service.workflow.function.form.DistributionUserClose</arg>
<arg name="status">3</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</common-actions>
<steps>
<step id="1" name="Open">
<actions>
<common-action id="21" />
<common-action id="22" />
<common-action id="5" />
<common-action id="2" />
</actions>
</step>
<step id="3" name="Re-Opened">
<actions>
<common-action id="5" />
<common-action id="2" />
<common-action id="21" />
<common-action id="22" />
</actions>
</step>
</steps>
</workflow>
1 ответ
Итак, вы используете osworkflow вне Jira для создания нового файла workflow.xml. А потом импортировать в Jira? Кажется странным не делать этого внутри Jira, но ладно. Я думаю, что я бы начал с экспорта XML рабочего процесса Jira, а затем убедился, что ваш сгенерированный workflow.xml выглядит так, как тот, который, как вы знаете, работает.