не приходит оповещение

Обсуждаем TrackStudio по-русски

не приходит оповещение

Postby kolesova » Thu Aug 17, 2017 5:15 am

здравствуйте, у нас есть данный скрипт. Есть задача тестирование, в ней подзадачи дефекты, в тестировании у нас есть операция назначить на разработчика, при которой срабатывает данный скрипт, он проходится по всем дефектам и те, у которых состояние представлен или открыт, переводит в состояние назначен и переводит на нужного разработчика, данный скрипт работает, но еще нужно чтобы этому разработчику, на которого назначилось, приходило оповещение на почту, по шаблону default_html, но оно не приходит, как это реализовать?


import java.lang.Object;
import java.lang.Character;
import java.lang.Exception;
import java.lang.Comparable;
import java.lang.*;
import com.trackstudio.startup.Config;
import com.trackstudio.app.csv.CSVImport;
import java.sql.*;
import java.sql.Time;
import java.lang.Number;
import com.trackstudio.view.*;
import java.lang.Byte;
import com.trackstudio.exception.*;
import java.lang.Float;
import java.lang.Boolean;
import com.trackstudio.securedkernel.*;
import com.trackstudio.app.adapter.AdapterManager;
import java.lang.String;
import java.lang.Short;
import java.lang.Class;
import com.trackstudio.tools.textfilter.HTMLEncoder;
import java.sql.Date;
import com.trackstudio.app.session.SessionContext;
import java.lang.Long;
import java.sql.Connection;
import java.sql.Timestamp;
import java.lang.StrictMath;
import com.trackstudio.tools.formatter.DateFormatter;
import java.lang.Double;
import com.trackstudio.tools.*;
import java.util.*;
import java.lang.Integer;
import java.lang.StringBuffer;
import java.text.*;
import java.lang.Math;
import com.trackstudio.secured.*;

String taskID = message.getTaskId();

// получаем список подчиненных задач
List taskChild = message.getTask().getChildren();

// Получаем имя разработчика на которого назначается задача
String DevName = message.getHandler().getLogin();

// Получаем полное имя разработчика на которого назначается задача
String FullName = message.getHandler().getName();

// текст сообщения. "Автоматическое назначение"
String sText = "Автоматическое назначение";
// Часы
Long hrs = 0;
// пользователь
String handlerUserId = message.getHandler().getId();
String handlerGroupId = message.getHandlerGroupId();

int taskCount = 0;
// проходим по всему списку дефектов
String fullList = "";
for (Iterator i = taskChild.iterator(); i.hasNext();) {
Object tsk = i.next();
fullList = fullList + tsk.getTaskNumber() + "; ";
String taskId = tsk.getId();
String status = tsk.getStatus().getName();
if (status.equals("01. Представлен") || status.equals("07. Открыт"))
{
String mstatusId = CSVImport.findMessageTypeIdByName("01. Назначить", tsk.getCategory().getName());
AdapterManager.getInstance().getSecuredMessageAdapterManager().createMessage(message.getSecure(), taskId, mstatusId, sText, hrs, handlerUserId, handlerGroupId, null, null, null, null, false);
taskCount++;
}
}
throw new UserException("Выполнено назначение на разработку: " +
FullName + " (" + String.valueOf(taskCount) + " - заданий)");



так же в самом конце после исключения вставляли такой код:
if (sendMail) {
Calendar now = Calendar.getInstance();
Change change;
if (atts==null || atts.isEmpty()) {
change = new NewMessageChange(now, sc.getUserId(), new SecuredMessageBean(input.getId(), sc), auditId);
} else {
change = new NewMessageWithAttachmentChange(now, sc.getUserId(), new SecuredMessageBean(input.getId(), sc), auditId);
}
AdapterManager.getInstance().getFilterNotifyAdapterManager().sendNotifyForTask(input.getId(), input.getTaskId(), sc.getUserId(), mstatusId, change);
}

но все равно ничего не заработало
kolesova
 
Posts: 12
Joined: Wed Aug 16, 2017 1:24 pm

Re: не приходит оповещение

Postby admin » Tue Aug 22, 2017 9:15 am

Пришлите полный текст со вставленным кодом.
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 8139
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Re: не приходит оповещение

Postby kolesova » Wed Aug 23, 2017 4:56 am

import java.lang.Object;
import java.lang.Character;
import java.lang.Exception;
import java.lang.Comparable;
import java.lang.*;
import com.trackstudio.startup.Config;
import com.trackstudio.app.csv.CSVImport;
import java.sql.*;
import java.sql.Time;
import java.lang.Number;
import com.trackstudio.view.*;
import java.lang.Byte;
import com.trackstudio.exception.*;
import java.lang.Float;
import java.lang.Boolean;
import com.trackstudio.securedkernel.*;
import com.trackstudio.app.adapter.AdapterManager;
import java.lang.String;
import java.lang.Short;
import java.lang.Class;
import com.trackstudio.tools.textfilter.HTMLEncoder;
import java.sql.Date;
import com.trackstudio.app.session.SessionContext;
import java.lang.Long;
import java.sql.Connection;
import java.sql.Timestamp;
import java.lang.StrictMath;
import com.trackstudio.tools.formatter.DateFormatter;
import java.lang.Double;
import com.trackstudio.tools.*;
import java.util.*;
import java.lang.Integer;
import java.lang.StringBuffer;
import java.text.*;
import java.lang.Math;
import com.trackstudio.secured.*;

String taskID = message.getTaskId();

// получаем список подчиненных задач
List taskChild = message.getTask().getChildren();

// Получаем имя разработчика на которого назначается задача
String DevName = message.getHandler().getLogin();

// Получаем полное имя разработчика на которого назначается задача
String FullName = message.getHandler().getName();

// текст сообщения. "Автоматическое назначение"
String sText = "Автоматическое назначение";
// Часы
Long hrs = 0;
// пользователь
String handlerUserId = message.getHandler().getId();
String handlerGroupId = message.getHandlerGroupId();

int taskCount = 0;
// проходим по всему списку дефектов
String fullList = "";
for (Iterator i = taskChild.iterator(); i.hasNext();) {
Object tsk = i.next();
fullList = fullList + tsk.getTaskNumber() + "; ";
String taskId = tsk.getId();
String status = tsk.getStatus().getName();
if (status.equals("01. Представлен") || status.equals("07. Открыт"))
{
String mstatusId = CSVImport.findMessageTypeIdByName("01. Назначить", tsk.getCategory().getName());
AdapterManager.getInstance().getSecuredMessageAdapterManager().createMessage(message.getSecure(), taskId, mstatusId, sText, hrs, handlerUserId, handlerGroupId, null, null, null, null, false);
taskCount++;
}
}
throw new UserException("Выполнено назначение на разработку: " +
FullName + " (" + String.valueOf(taskCount) + " - заданий)");

if (sendMail) {
Calendar now = Calendar.getInstance();
Change change;
if (atts==null || atts.isEmpty()) {
change = new NewMessageChange(now, sc.getUserId(), new SecuredMessageBean(input.getId(), sc), auditId);
} else {
change = new NewMessageWithAttachmentChange(now, sc.getUserId(), new SecuredMessageBean(input.getId(), sc), auditId);
}
AdapterManager.getInstance().getFilterNotifyAdapterManager().sendNotifyForTask(input.getId(), input.getTaskId(), sc.getUserId(), mstatusId, change);
}
kolesova
 
Posts: 12
Joined: Wed Aug 16, 2017 1:24 pm

Re: не приходит оповещение

Postby dpochtarev » Wed Aug 23, 2017 5:20 pm

Не нужно ничего лишнего добавлять в этот скрипт. Тем более куски кода с переменными, которые не были инициализированы.
В этой строке у вас было указано при создании сообщения, не отправлять никаких оповещений - поэтому и не работает.
kolesova wrote: AdapterManager.getInstance().getSecuredMessageAdapterManager().createMessage(message.getSecure(), taskId, mstatusId, sText, hrs, handlerUserId, handlerGroupId, null, null, null, null, false);

Замените на true
Code: Select all
AdapterManager.getInstance().getSecuredMessageAdapterManager().createMessage(message.getSecure(), taskId, mstatusId, sText, hrs, handlerUserId, handlerGroupId, null, null, null, null, true);
dpochtarev
 
Posts: 256
Joined: Wed Aug 22, 2012 4:35 pm

Re: не приходит оповещение

Postby kolesova » Thu Aug 24, 2017 9:47 am

сделали, все равно не приходит оповещение
kolesova
 
Posts: 12
Joined: Wed Aug 16, 2017 1:24 pm

Re: не приходит оповещение

Postby kolesova » Mon Sep 04, 2017 5:15 am

кто-нибудь поможет решить проблему?
kolesova
 
Posts: 12
Joined: Wed Aug 16, 2017 1:24 pm

Re: не приходит оповещение

Postby admin » Thu Sep 07, 2017 1:15 pm

kolesova wrote:кто-нибудь поможет решить проблему?

А они отправляются (по логам TS/SMTP) ?
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 8139
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Re: не приходит оповещение

Postby kolesova » Wed Sep 13, 2017 5:30 am

где это посмотреть можно?
kolesova
 
Posts: 12
Joined: Wed Aug 16, 2017 1:24 pm

Re: не приходит оповещение

Postby admin » Mon Sep 18, 2017 12:02 am

Логи ТС - в trackstudio.log, логи SMTP - спрашивать у админа этого SMTP.
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 8139
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Re: не приходит оповещение

Postby kolesova » Tue Sep 19, 2017 5:37 am

в trackstudio.log пишет только что выполнил назначение задачи, но то что отправлено уведомление нет
kolesova
 
Posts: 12
Joined: Wed Aug 16, 2017 1:24 pm

Next

Return to TrackStudio Support [Russian]

Who is online

Users browsing this forum: No registered users and 3 guests