Compare commits

..
6 Commits
6 changed files with 41 additions and 39 deletions
+1 -1
View File
@@ -1 +1 @@
1.0.51 1.0.55
+3 -1
View File
@@ -17,7 +17,9 @@
- JQL (Режим Jira) - можно задать свой JQL для поиска задач. Возможные замены: %USER% - Логин Jira, %DATE% дата на которую формируем список. Значнеие по умолчанию: status changed by '%USER%' during ("%DATE%","%DATE%") - JQL (Режим Jira) - можно задать свой JQL для поиска задач. Возможные замены: %USER% - Логин Jira, %DATE% дата на которую формируем список. Значнеие по умолчанию: status changed by '%USER%' during ("%DATE%","%DATE%")
- Задача "учёта времени" - задача, куда будет списываться по 30 минут в день на "затраты на учет времени". Должна содержать знак '-'. - Задача "учёта времени" - задача, куда будет списываться по 30 минут в день на "затраты на учет времени". Должна содержать знак '-'.
- Время запуска - время автоматического запуска бота. Если была установлена галочка "тестовый прогон" - она будет снята. - Время запуска - время автоматического запуска бота. Если была установлена галочка "тестовый прогон" - она будет снята.
- Минут в рабочем дне - количество распределяемых минут (оыбчно 8 * 60).
- Рандомных минут - если > 0, то будет прибавлено рандомное количество минут к рабочему времени (но кратное значению округления).
- Добавлять описание (Режим Mercurial) - добавлять ли в описание CommitMessage, если не установлено - добавляются стандартные фразы программистов (типа "написание кода"). - Добавлять описание (Режим Mercurial) - добавлять ли в описание CommitMessage, если не установлено - добавляются стандартные фразы программистов (типа "написание кода").
- Автозагрузка - загружать ли программу при старте ОС.
# Скачать # Скачать
Скачать актуальную версию можно тут: https://github.com/monster1025/JiraTimeBot/releases/latest Скачать актуальную версию можно тут: https://github.com/monster1025/JiraTimeBot/releases/latest
+2 -2
View File
@@ -146,7 +146,7 @@ namespace JiraTimeBot.JiraIntegration
{ {
try try
{ {
issue.DeleteWorklogAsync(workLog, token: cancellationToken); issue.DeleteWorklogAsync(workLog, WorklogStrategy.RetainRemainingEstimate, token: cancellationToken);
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -172,7 +172,7 @@ namespace JiraTimeBot.JiraIntegration
{ {
try try
{ {
workLogToAdd = issue.AddWorklogAsync(workLogToAdd, token: cancellationToken).Result; workLogToAdd = issue.AddWorklogAsync(workLogToAdd, WorklogStrategy.RetainRemainingEstimate, token: cancellationToken).Result;
} }
catch (Exception ex) catch (Exception ex)
{ {
+3 -3
View File
@@ -26,6 +26,6 @@ using System.Runtime.InteropServices;
// //
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.51")] [assembly: AssemblyVersion("1.0.55")]
[assembly: AssemblyFileVersion("1.0.51")] [assembly: AssemblyFileVersion("1.0.55")]
[assembly: AssemblyInformationalVersion("1.0.51")] [assembly: AssemblyInformationalVersion("1.0.55")]
@@ -65,7 +65,7 @@ namespace JiraTimeBot.TaskTime
} }
int currentTaskCommits = taskGroup.Count(); int currentTaskCommits = taskGroup.Count();
int currentTaskTime = (int)RoundTo(minutesPerWorkDay / totalCommitsCount * currentTaskCommits, settings.RoundToMinutes); int currentTaskTime = (int)RoundTo(minutesPerWorkDay / totalCommitsCount * currentTaskCommits, settings.RoundToMinutes, false);
remainMinutes = remainMinutes - currentTaskTime; remainMinutes = remainMinutes - currentTaskTime;
var orderedTasks = taskGroup.OrderBy(f => f.Time).ToArray(); var orderedTasks = taskGroup.OrderBy(f => f.Time).ToArray();
@@ -99,7 +99,7 @@ namespace JiraTimeBot.TaskTime
_log.Trace($"Погрешность распределения времени: {remainMinutes}. Добавляю к первой задаче."); _log.Trace($"Погрешность распределения времени: {remainMinutes}. Добавляю к первой задаче.");
} }
if (workTimeItems.First().Time.TotalMinutes > Math.Abs(remainMinutes) && remainMinutes < 0) if ((workTimeItems.First().Time.TotalMinutes > Math.Abs(remainMinutes) && remainMinutes < 0) || remainMinutes > 0)
{ {
//если переборщили или не достаточно добавили до 8 часов - скореектируем остаток в первой задаче (она самая трудозатратная). //если переборщили или не достаточно добавили до 8 часов - скореектируем остаток в первой задаче (она самая трудозатратная).
workTimeItems.First().Time += TimeSpan.FromMinutes(remainMinutes); workTimeItems.First().Time += TimeSpan.FromMinutes(remainMinutes);