legacy-knowledge-base
公開されました Jun. 30, 2025

ワークフローを使用して、プログラムで特定のロールまたはユーザーに通知を送信する方法

投稿者

Daniel Martinez Cisneros

knowledge-article-header-disclaimer-how-to

knowledge-article-header-disclaimer

legacy-article

learn-legacy-article-disclaimer-text

問題

  • スクリプト割り当てによって複数のユーザーにワークフロー・タスクを割り当てることはできますが、ロールにタスクを割り当てることはできません。

環境

  • 四半期ごとのリリース
  • 7.4
  • 7.3

解像度

  • 一般的な要件の1つは、特定のロジックが発生したときに、組織内の特定のロールまたはユーザーに通知することです。ユーザーまたはロールに通知するために追加の実装が必要な場合は、スクリプト割り当て機能を通知タスク内に実装することができます。

  • 以下に例を挙げる:
    <notification>
    <name>Review Notification</name>
    <description>
    <![CDATA[]]>
    </description>
    <template>
    <![CDATA[${userName} sent you a ${entryType} for review in the workflow.
    ]]>
    </template>
    <template-language>freemarker</template-language>
    <notification-type>email</notification-type>
    <notification-type>user-notification</notification-type>
    <recipients receptionType="to">
    <scripted-recipient>
    <script>
    <![CDATA[

    import com.liferay.portal.kernel.model.Role
    import com.liferay.portal.kernel.service.RoleLocalServiceUtil
    import com.liferay.portal.kernel.service.ServiceContext
    import com.liferay.portal.kernel.workflow.WorkflowConstants

    ServiceContext serviceContext = (ServiceContext)workflowContext.get(WorkflowConstants.CONTEXT_SERVICE_CONTEXT)
    long roleId = (long)serviceContext.getAttribute("roleIdKey")
    Role roleRecipient = RoleLocalServiceUtil.getRole(roleId)

    user=null
    roles = [roleRecipient]
    ]]>
    </script>
    <script-language>groovy</script-language>
    </scripted-recipient>
    </recipients>
    <execution-type>onAssignment</execution-type>
    </notification>

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base