Пример #1
0
        private async Task GetJiraTicketSummaryAsync(JiraWorklogEntry jiraWorklogEntry)
        {
            jiraWorklogEntry.Summary = "Loading...";
            var result = await TimeEntryService.GetJiraTicketSummaryAsync(jiraWorklogEntry.Ticket);

            jiraWorklogEntry.Summary = result;
        }
        private async Task SubmitJiraWorklogEntryAsync(HttpClient jiraClient, JiraWorklogEntry jiraWorklogEntry, ICollection <JiraWorklogEntry> jiraWorkLogEntries)
        {
            try
            {
                var worklogUrl = $"{_jiraSettings.Value.ApiUrl}issue/{jiraWorklogEntry.Ticket}/worklog";

                var request = new HttpRequestMessage(HttpMethod.Post, worklogUrl);

                var jsonBody = JsonConvert.SerializeObject(jiraWorklogEntry);

                var jiraWorkLogEntryHttpRequestContent = new StringContent(
                    jsonBody,
                    Encoding.UTF8,
                    ApplicationJson
                    );

                request.Content = jiraWorkLogEntryHttpRequestContent;

                _logger.LogDebug($"Attempting to submit: {jsonBody} to the url: {worklogUrl}");

                using var httpResponse = await jiraClient.SendAsync(request);

                var responseBody = httpResponse.EnsureSuccessStatusCode();

                // Remove the successful entry from the list so we can return it
                jiraWorkLogEntries.Remove(jiraWorklogEntry);
            }
            catch (HttpRequestException hre)
            {
                _logger.LogWarning(hre, $"An http response was not successful when in {nameof(SubmitJiraWorklogEntryAsync)} when trying to submit a worklog for: {jiraWorklogEntry.Ticket}{Environment.NewLine}Error: {hre.Message}");
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"An error occurred in {nameof(SubmitJiraWorklogEntryAsync)} when trying to submit a worklog for: {jiraWorklogEntry.Ticket}{Environment.NewLine}Error: {ex.Message}");
                throw;
            }
        }
Пример #3
0
 private void DeleteEntry(JiraWorklogEntry jiraWorklogEntry)
 {
     _jiraWorklogEntries.Remove(jiraWorklogEntry);
 }
Пример #4
0
        private void AddNewTimeEntry()
        {
            var newTimeEntry = new JiraWorklogEntry();

            _jiraWorklogEntries.Add(newTimeEntry);
        }