コード例 #1
0
        public JiraClientTests()
        {
            _jiraClientWrapperMock      = new Mock <IJiraClientWrapper>();
            _issueServiceMock           = new Mock <IIssueService>();
            _classThatWeActuallyTesting = new JiraClient(_jiraClientWrapperMock.Object);

            var client = CreateRestClient("https://your_jira_address/");
            var fields = new CreateIssueFields(ProjectNames[0]);

            _myIssue = new Issue(client, fields);
        }
コード例 #2
0
        public static async Task CreateJiraIssue(CreateIssueSettings settings, ICakeLog logger)
        {
            try
            {
                logger.Information($"Creating jira issue '{settings.Summary}' on {settings.Project}");

                var jira          = CreateJira(settings);
                var issueSettings = new CreateIssueFields(settings.Project);

                var issue = new Issue(jira, issueSettings)
                {
                    Reporter    = settings.Reporter,
                    Summary     = settings.Summary,
                    Description = settings.Description,
                    Environment = settings.Environment,
                    Assignee    = settings.Assignee,
                    DueDate     = settings.DueDate
                };

                if (settings.Priority != 0)
                {
                    issue.Priority = new IssuePriority(settings.Priority.ToString(CultureInfo.InvariantCulture));
                }

                if (settings.Type != 0)
                {
                    issue.Type = new IssueType(settings.Type.ToString(CultureInfo.InvariantCulture));
                }

                if (settings.Labels != null)
                {
                    issue.Labels.AddRange(settings.Labels);
                }

                var createdIssueKey = await issue.Jira.Issues.CreateIssueAsync(issue);

                if (!string.IsNullOrEmpty(createdIssueKey))
                {
                    logger.Information($"Jira issue '{settings.Summary}' created with key: " + createdIssueKey);
                }
                else
                {
                    logger.Information($"Unable to create jira issue '{settings.Summary}'");
                }
            }
            catch (Exception ex)
            {
                logger.Error($"Error creating issue '{settings.Summary}': {ex.Message}");
            }
        }
コード例 #3
0
        public async Task CreateIssueWithOriginalEstimate()
        {
            var fields = new CreateIssueFields("TST")
            {
                TimeTrackingData = new IssueTimeTrackingData("1d")
            };

            var issue = new Issue(_jira, fields)
            {
                Type     = "1",
                Summary  = "Test Summary " + _random.Next(int.MaxValue),
                Assignee = "admin"
            };

            var newIssue = await issue.SaveChangesAsync();

            Assert.Equal("1d", newIssue.TimeTrackingData.OriginalEstimate);
        }
コード例 #4
0
        /// <summary>
        /// Создает задачу в JIRA.
        /// </summary>
        /// <param name="project">Проект.</param>
        /// <param name="subject">Тема.</param>
        /// <param name="content">Контент.</param>
        /// <param name="issue_type">Тип.</param>
        /// <param name="author">Автор.</param>
        /// <param name="fix_version">Версия.</param>
        /// <param name="wf_producer">Автор специальное поле.</param>
        /// <param name="wf_executor">Исполнитель специальное поле.</param>
        /// <param name="label">Тэг.</param>
        /// <returns>Задача JIRA.</returns>
        public Issue CreateIssue(string project, string subject, string content, string issue_type, string author, IEnumerable <ProjectVersion> fix_version, string wf_producer, string wf_executor, string label)
        {
            var fields = new CreateIssueFields(project);
            var result = _client.CreateIssue(fields);

            result.Summary     = subject;
            result.Description = content;
            result.Type        = new IssueType(issue_type);
            result.Reporter    = author;
            foreach (var v in fix_version)
            {
                result.FixVersions.Add(v);
            }
            result.CustomFields.AddById(CUSTOM_FIELD__BUSINESS_PROCESS_EXECUTOR, wf_executor);
            result.CustomFields.AddById(CUSTOM_FIELD__BUSINESS_PROCESS_PRODUCER, wf_producer);
            result.Labels.Add(label);

            result.SaveChanges();

            return(result);
        }