@ -29,6 +29,7 @@ import org.apache.dolphinscheduler.dao.entity.Alert;
import org.apache.dolphinscheduler.dao.entity.ProcessAlertContent ;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition ;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance ;
import org.apache.dolphinscheduler.dao.entity.ProjectUser ;
import org.apache.dolphinscheduler.dao.entity.TaskInstance ;
import java.util.ArrayList ;
@ -94,12 +95,16 @@ public class AlertManager {
* @return process instance format content
* /
public String getContentProcessInstance ( ProcessInstance processInstance ,
List < TaskInstance > taskInstances ) {
List < TaskInstance > taskInstances ,
ProjectUser projectUser ) {
String res = "" ;
if ( processInstance . getState ( ) . typeIsSuccess ( ) ) {
List < ProcessAlertContent > successTaskList = new ArrayList < > ( 1 ) ;
ProcessAlertContent processAlertContent = ProcessAlertContent . newBuilder ( )
. projectId ( projectUser . getProjectId ( ) )
. projectName ( projectUser . getProjectName ( ) )
. owner ( projectUser . getUserName ( ) )
. processId ( processInstance . getId ( ) )
. processName ( processInstance . getName ( ) )
. processType ( processInstance . getCommandType ( ) )
@ -120,6 +125,9 @@ public class AlertManager {
continue ;
}
ProcessAlertContent processAlertContent = ProcessAlertContent . newBuilder ( )
. projectId ( projectUser . getProjectId ( ) )
. projectName ( projectUser . getProjectName ( ) )
. owner ( projectUser . getUserName ( ) )
. processId ( processInstance . getId ( ) )
. processName ( processInstance . getName ( ) )
. taskId ( task . getId ( ) )
@ -196,7 +204,8 @@ public class AlertManager {
* @param taskInstances task instance list
* /
public void sendAlertProcessInstance ( ProcessInstance processInstance ,
List < TaskInstance > taskInstances ) {
List < TaskInstance > taskInstances ,
ProjectUser projectUser ) {
if ( Flag . YES = = processInstance . getIsSubProcess ( ) ) {
return ;
@ -231,7 +240,7 @@ public class AlertManager {
alert . setTitle ( cmdName + " " + success ) ;
ShowType showType = processInstance . getState ( ) . typeIsSuccess ( ) ? ShowType . TEXT : ShowType . TABLE ;
alert . setShowType ( showType ) ;
String content = getContentProcessInstance ( processInstance , taskInstances ) ;
String content = getContentProcessInstance ( processInstance , taskInstances , projectUser ) ;
alert . setContent ( content ) ;
alert . setAlertType ( AlertType . EMAIL ) ;
alert . setAlertGroupId ( processInstance . getWarningGroupId ( ) ) ;