АШ
Size: a a a
АШ
ЕР
АЛ
АШ
АШ
AK
ЕР
АШ
M
ВР
АЛ
logPrint("WARN", ("Issue " + key + ". Start work script - create_link_issue_in_jira.sil " + currentDate()));
// Объявляем все нужные переменные и структуры
struct AttachInfo
{
string AttachName;
string AttachID;
string AttachDestIssueID;
string AttachSourceIssueID;
}
struct AttachList
{
AttachInfo [] AttachList;
}
struct NewIssue
{
string DestProject;
string DestIssueType;
string AssignTo;
string IssueSummary;
string SourceProjectName;
string SourceTask;
string IssueDescription;
string LabelFromSD;
date SDDueDate;
}
// logPrint("WARN", "******************************************************************************************************");
NewIssue JsonToJira;
JsonToJira.DestProject = customfield_10828;
JsonToJira.DestIssueType = customfield_10830;
JsonToJira.AssignTo = customfield_10829;
JsonToJira.IssueSummary = base64Encode(%key%.summary);
JsonToJira.LabelFromSD = "from_ServiceDesk";
JsonToJira.SourceProjectName = project;
JsonToJira.SourceTask = key;
JsonToJira.SDDueDate = dueDate;
JsonToJira.IssueDescription = "none";
string [] ReporterInfo = getUser(%key%.reporter);
JsonToJira.IssueDescription = ("Reporter fullname: " + ReporterInfo[2]);
JsonToJira.IssueDescription += ("\nReporter email: " + ReporterInfo[3]);
JsonToJira.IssueDescription += ("\nPriority: " + priority);
JsonToJira.IssueDescription += system(("/var/atlassian/jira/silprograms/getissuefields.sh " + key))[1];
JsonToJira.IssueDescription = base64Encode(JsonToJira.IssueDescription);
// получаем массив информации о заявителе
// в зависимости от данных с формы задаем переменные
//вызываем на удаленной машине скрипт создания таски передавая json качестве параметра и пишем номер таски из ответа в поле задачи
if (customfield_10828 == "Heather Requirements")
{
JsonToJira.DestIssueType = "Request";
}
if (customfield_10604 == "none" and customfield_10833 == "Yes")
{
string DestIssueID = call("jira", "/var/atlassian/jira/silprograms/work/incoming_call/create_link_issue_from_sd.sil", toJson(JsonToJira)); //remote call
customfield_10604 = "https://jira.kitchen.loc/browse/" + DestIssueID;
customfield_10603 = JsonToJira.DestProject;
if (isNotNull(attachments[0]))
{
AttachInfo AttachOne;
AttachList AttachListArray;
for (string Attach in (%key%.attachments))
{
AttachOne.AttachName = Attach;
string [] AttachPathArray = split(getAttachmentPath(key,Attach), "/");
int ArrayCount = size(AttachPathArray);
AttachOne.AttachID = getElement(AttachPathArray, (ArrayCount - 1));
AttachOne.AttachDestIssueID = DestIssueID;
AttachOne.AttachSourceIssueID = key;
AttachListArray.AttachList += AttachOne;
}
call("jira", "/var/atlassian/jira/silprograms/work/incoming_call/copy_attach_files.sil", toJson(AttachListArray)); //remote call
}
}
if (isNotNull(dueDate))
{
addJSDComment(key, "system_script", ("#automatic message\nDear client, the expected resolution date for this issue is " + split(dueDate, " ")[0] + "."), true);
}
else
{
addJSDComment(key, "system_script", "#automatic message\nDear customer, your request has been passed to a member of our team. We will inform you once the issue is resolved.", true);
}
logPrint("WARN", ("Issue " + key + ". Stop work script - create_link_issue_in_jira.sil " + currentDate()));M
ВР
АЛ
D
A
M
D