public void CreateTask() { const string login = "******"; var user_info = new UserInfo() { Id = 1, Roles = new List <string> { ROLE }, Login = login }; var form = new CreateForm { Task = TaskCode.Explore, ExplorationId = EXPLORATION_ID, Notes = "notes", InformationSystemCode = PRODUCT_CODE }; _ldapService.GetWatchersByLogin(login).Returns(new List <PersonInfo>()); try { _taskCreateService.CreateTask(form, user_info); } catch { // ignored } _jiraApiService.Received().CreateIssue(PERIMETER_VALUE, Arg.Any <string>(), form.Notes, Arg.Any <string>(), login, Arg.Any <IEnumerable <ProjectVersion> >(), Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>()); }
/// <summary> /// Создает задачу в КСУ. /// </summary> /// <param name="form">Форма для создания задачи.</param> /// <param name="user_info">Информация о пользователе.</param> /// <returns>Ключ задачи.</returns> public string CreateTask(CreateForm form, UserInfo user_info) { var workflow = GetWorkflow(form, user_info); // сгенерировать основной текст задачи var task_content = GenerateContent(form); // сгенерировать заголовок var task_subject = CreateSubject(form); // получить маршрут var project = GetProject(form, user_info); // получить версии var versions = GetVersions(form, project); // получить метки var labels = GetLabels(form); // получить наблюдателей var watchers = _ldapService.GetWatchersByLogin(user_info.Login).ToList(); // определить бизнес-процесс var business_process = GetWorkflow(form, user_info).BusinessProcess; // определить тип задачи var issue_type = GetIssueType(form); // создать задачу var issue = _jiraApiService.CreateIssue(project, task_subject, task_content, issue_type.ToString(), user_info.Login, versions, business_process, business_process, labels); // Добавили наблюдателей _jiraApiService.AddWatchers(watchers.Select(x => x.Login), issue); _jiraApiService.AddComment(form, watchers, issue, user_info.FullName, task_subject, workflow); _jiraApiService.AddFiles(form, issue); return(issue.Key.Value); }