Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //include "inclusions/zube/zube_getUserJira.sil";
- include "inclusions/zube/zube_epicLink.sil";
- include "inclusions/zube/zube_getPostComments.sil";
- include "inclusions/zube/zube_insertImage.sil";
- string json = readFromTextFile("Admin_Scripts/zube/Json/1158.json");
- json = replace(json, "number", "number_");
- struct Labels {
- string id;
- string name;
- string color;
- string project_id;
- }
- // struct Label_ids {
- // string id;
- // }
- struct Epic {
- number id;
- //string workspace_id;
- //string status;
- //string color;
- //string title;
- }
- /*
- struct Creator {
- number id;
- string username;
- string name;
- }*/
- struct Assignees {
- number id;
- string username;
- string name;
- string avatar_path;
- }
- struct zube {
- //string sprint_id;
- number id; //customfield_10219 ++
- string creator_id; //reporter ++
- //string project_id; //один у всех
- //string workspace_id; //один у всех
- string body; //дескрипшин ++
- string category_name; //похоже на статус
- string closed_at; //дата закрытия (НУЖНО ПОЛЕ) ++
- string comments_count; //счетчик комментов
- //string last_comment_at; //дата последнего комментария не интересна
- string number_; //номер в системе customfield_10220 ++
- string points; //СториПоинты ++
- string priority; //++
- //string search_key;
- string state; //или open или closed ++
- string status; //доступные: done, in_review, queued ++
- string title; //summary ++
- //string upvotes_count; //хз. везде ноль
- string created_at; //++
- //string updated_at; //не интересна
- string epic_id; //
- //string closer_id; //тот кто закрыл(сомневаюсь, что важно)
- //string was_archived_from_404; //null
- Epic epic;
- Creator creator;
- Labels labels;
- //Label_ids label_ids; //дичь какая-то/ один айдишник
- Assignees [] assignees;
- }
- zube [] cData = fromJson(json);
- int count = 0;
- string pKey = "GUIDIMPORT";
- string parentIssueKey = "";
- string issueType = "Task";
- string summary = "";
- string priority = "";
- string description = "";
- string components = "";
- date dueDate;
- interval estimate;
- string sLevel;
- for(zube zb in cData){
- string [] custom_field_mapping;
- //работа с Assignee
- if(isNotNull(zb.assignees[0].id)){
- custom_field_mapping = addElement(custom_field_mapping, "assignee");
- if(zube_getUserJira(zb.assignees[0].id) == ""){
- runnerLog("не найден ASSIGNEE: " + zb.assignees[0].id);
- runnerLog("number: " + zb.number_);
- custom_field_mapping = addElement(custom_field_mapping, "robot");
- }
- else {
- custom_field_mapping = addElement(custom_field_mapping, zube_getUserJira(zb.assignees[0].id));
- }
- }
- //работа с Creator
- if(isNotNull(zb.creator_id)){
- custom_field_mapping = addElement(custom_field_mapping, "reporter");
- if(zube_getUserJira(zb.creator_id) == ""){
- runnerLog("не найден CREATOR: " + zb.creator_id);
- runnerLog("number: " + zb.number_);
- custom_field_mapping = addElement(custom_field_mapping, "Robot");
- }
- else {
- custom_field_mapping = addElement(custom_field_mapping, zube_getUserJira(zb.creator_id));
- }
- }
- //работа с labels
- if(isNotNull(zb.labels)){
- custom_field_mapping += {"labels",zb.labels.name};
- }
- //Добавляем epic_id в поле
- if(zb.epic_id != ""){
- custom_field_mapping +={"customfield_10224",zb.epic_id};
- }
- custom_field_mapping += {"customfield_10219",zb.id,"customfield_10220",zb.number_,"customfield_10221",zb.created_at};
- //closed_at
- if(zb.closed_at != ""){
- custom_field_mapping += {"customfield_10222",zb.closed_at};
- }
- //Description
- description = zb.body;
- //runnerLog(zb.body);
- //Приоритеты
- switch(zb.priority){
- case "5":
- priority = "Trivial";
- break;
- case "4":
- priority = "Low";
- break;
- case "3":
- priority = "Medium";
- break;
- case "2":
- priority = "High";
- break;
- case "1":
- priority = "Blocker";
- break;
- default:
- priority = "Medium";
- }
- //StoryPoints
- if(zb.points != 0 && zb.points != ""){
- custom_field_mapping += {"customfield_10106",zb.points};
- }
- //issueType
- if(isNotNull(zb.labels)){
- if(zb.labels.name == "Bug" || zb.labels.name == "bug"){
- issueType = "Bug";
- }
- else{
- issueType = "Task";
- }
- }
- else{
- issueType = "Task";
- }
- string k = createIssue(
- pKey,
- parentIssueKey,
- issueType,
- zb.title,
- priority,
- description,
- components,
- dueDate,
- estimate,
- sLevel,
- custom_field_mapping
- );
- if(zb.status == "in_progress"){
- autotransition(61, k, true, true, true);
- }
- else if(zb.status == "completed"){
- autotransition(81, k, true, true, true);
- }
- else if(zb.status == "done"){
- autotransition(81, k, true, true, true);
- }
- else if(zb.status == "in_review"){
- autotransition(71, k, true, true, true);
- }
- else if(zb.status == "queued"){
- autotransition(61, k, true, true, true);
- }
- //done, in_review, queued
- if(zb.state == "closed"){
- autotransition(81, k, true, true, true);
- }
- //Comments
- if(zb.comments_count != "0"){
- // функция обработки комментов
- zube_getPostComments(k, zb.id);
- }
- /*вывыв*/
- //Epics
- if(zb.epic_id != ""){
- //функция обработки тасок с эпиками
- zube_epicLink(k, zb.epic_id);
- }
- //нужны релейтед
- //Добавление аттачей из дескрипшина
- zube_insertImage(k, description);
- runnerLog("Создано: " + k);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement