Adobe AEM 6.4.x工作流程:在OR拆分中使用graniteWorkItem时未定义

时间:2019-04-24 02:33:48

标签: aem aem-6

我正在尝试以OR分割方式运行脚本,并且继续出现以下错误。根据此page,“ graniteWorkItem”包含在“立即可用于处理脚本的变量中,从而提供对工作流Java API对象的访问”(从链接中引用)。

观察:

  • 我尝试过“ workItem”,我相信这是CQ5的变量吗?同样的错误。
  • 我删除了OR拆分,然后插入了动态参与者步骤。在参与者选择器上,我选择了工作流发起者参与者选择器(脚本)。然后,我使用下面的代码并在“电子邮件”上打钩。我尝试了“ workItem”和“ graniteWorkItem”变量名称。我在其他帐户下运行了工作流程,并使用了两个变量名,我收到了一封电子邮件,并且在error.log中没有错误。

有什么主意我做错了吗?


或分割脚本(有错误。请参见下文)

function check() {  
    var workflowData = graniteWorkItem.getWorkflowData();
     return false;  
}

动态参与者脚本(error.log中的graniteWorkItem没有错误)

function getParticipant() {
    return graniteWorkItem.getWorkflow().getInitiator();
}

来自error.log的错误

> tail -f error.log | grep -i "graniteWorkItem"
    var workflowData = graniteWorkItem.getWorkflowData();
} : Failure running script /libs/workflow/scripts/dynamic.ecma: ReferenceError: "graniteWorkItem" is not defined. (NO_SCRIPT_NAME#2)
org.apache.sling.api.scripting.ScriptEvaluationException: Failure running script /libs/workflow/scripts/dynamic.ecma: ReferenceError: "graniteWorkItem" is not defined. (NO_SCRIPT_NAME#2)
Caused by: org.mozilla.javascript.EcmaError: ReferenceError: "graniteWorkItem" is not defined. (NO_SCRIPT_NAME#2)
    var workflowData = graniteWorkItem.getWorkflowData();
com.adobe.granite.workflow.WorkflowException: org.apache.sling.api.scripting.ScriptEvaluationException: Failure running script /libs/workflow/scripts/dynamic.ecma: ReferenceError: "graniteWorkItem" is not defined. (NO_SCRIPT_NAME#2)
Caused by: org.apache.sling.api.scripting.ScriptEvaluationException: Failure running script /libs/workflow/scripts/dynamic.ecma: ReferenceError: "graniteWorkItem" is not defined. (NO_SCRIPT_NAME#2)

1 个答案:

答案 0 :(得分:1)

我不是100%肯定的人,但是check()方法中是否没有工作流数据-如果不从工作项中获取它呢?