Невозможно использовать рабочий процесс с помощью 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 выглядит так, как тот, который, как вы знаете, работает.

Другие вопросы по тегам