Compare commits

..
5 Commits
6 changed files with 38 additions and 56 deletions
+1 -1
View File
@@ -1 +1 @@
1.0.56 1.0.57
+3 -3
View File
@@ -1,5 +1,5 @@
# JiraTimeBot [![Build status](https://ci.appveyor.com/api/projects/status/anmhfvuj4oq84j1f?svg=true)](https://ci.appveyor.com/project/Monster1025/JiraTimeBot) # JiraTimeBot [![Build status](https://ci.appveyor.com/api/projects/status/anmhfvuj4oq84j1f/branch/master?svg=true)](https://ci.appveyor.com/project/monster1025/jiratimebot/branch/master)
Приложение для автоматического добавления Jira Worklog'ов исходя из количества коммитов в ветку. Приложение для автоматического добавления Jira Worklog'ов исходя из количества коммитов в ветку. Возможна работа по JQL-запросу JIRA.
# Ограничения # Ограничения
- Предполагается что все Ваши репозитории находятся в одной папке (к которой вы указываете путь в настройках). - Предполагается что все Ваши репозитории находятся в одной папке (к которой вы указываете путь в настройках).
@@ -19,7 +19,7 @@
- Время запуска - время автоматического запуска бота. Если была установлена галочка "тестовый прогон" - она будет снята. - Время запуска - время автоматического запуска бота. Если была установлена галочка "тестовый прогон" - она будет снята.
- Минут в рабочем дне - количество распределяемых минут (оыбчно 8 * 60). - Минут в рабочем дне - количество распределяемых минут (оыбчно 8 * 60).
- Рандомных минут - если > 0, то будет прибавлено рандомное количество минут к рабочему времени (но кратное значению округления). - Рандомных минут - если > 0, то будет прибавлено рандомное количество минут к рабочему времени (но кратное значению округления).
- Добавлять описание (Режим Mercurial) - добавлять ли в описание CommitMessage, если не установлено - добавляются стандартные фразы программистов (типа "написание кода"). - Добавлять описание (Режим Mercurial) - добавлять ли в описание CommitMessage, если не установлено - описание не заполняются.
- Автозагрузка - загружать ли программу при старте ОС. - Автозагрузка - загружать ли программу при старте ОС.
# Скачать # Скачать
Скачать актуальную версию можно тут: https://github.com/monster1025/JiraTimeBot/releases/latest Скачать актуальную версию можно тут: https://github.com/monster1025/JiraTimeBot/releases/latest
@@ -1,32 +1,13 @@
using JiraTimeBot.Configuration; using JiraTimeBot.Configuration;
using JiraTimeBot.TaskTime.Objects; using JiraTimeBot.TaskTime.Objects;
using System;
using System.Collections.Generic;
using System.Linq;
namespace JiraTimeBot.JiraIntegration.Comments namespace JiraTimeBot.JiraIntegration.Comments
{ {
public class JiraDescriptionSource : IJiraDescriptionSource public class JiraDescriptionSource : IJiraDescriptionSource
{ {
private readonly List<string> _dummyComments = new List<string>
{
"Написание кода", "написание кода", "программирование", "реализация задачи", "кодинг", "код + тесты",
"кодинг", "написание кода и тестов"
};
public string GetDescription(TaskTimeItem taskTimeItem, bool addCommentsToWorklog, Settings settings) public string GetDescription(TaskTimeItem taskTimeItem, bool addCommentsToWorklog, Settings settings)
{ {
if (addCommentsToWorklog) return addCommentsToWorklog ? taskTimeItem.Description : "";
{
return taskTimeItem.Description;
}
if (settings.WorkType == WorkType.Mercurial)
{
return _dummyComments.OrderBy(f => Guid.NewGuid()).FirstOrDefault();
}
return "";
} }
} }
} }
@@ -82,6 +82,7 @@ namespace JiraTimeBot.Mercurial
TimeSpent = TimeSpan.Zero, TimeSpent = TimeSpan.Zero,
Type = GetCommitType(changeset.Branch) Type = GetCommitType(changeset.Branch)
}; };
if (task.Type == CommitType.Release && task.Description.StartsWith("Merge with", StringComparison.CurrentCultureIgnoreCase)) if (task.Type == CommitType.Release && task.Description.StartsWith("Merge with", StringComparison.CurrentCultureIgnoreCase))
{ {
var branch = task.Description.Replace("Merge with", "").Replace(" ", ""); var branch = task.Description.Replace("Merge with", "").Replace(" ", "");
+31 -31
View File
@@ -1,31 +1,31 @@
using System.Reflection; using System.Reflection;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("JiraTimeBot")] [assembly: AssemblyTitle("JiraTimeBot")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("JiraTimeBot")] [assembly: AssemblyProduct("JiraTimeBot")]
[assembly: AssemblyCopyright("Copyright © 2019")] [assembly: AssemblyCopyright("Copyright © 2019")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible // Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from // to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type. // COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)] [assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM // The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f3b89316-c38c-4ce6-9d88-0b1373cfba1a")] [assembly: Guid("f3b89316-c38c-4ce6-9d88-0b1373cfba1a")]
// Version information for an assembly consists of the following four values: // Version information for an assembly consists of the following four values:
// //
// Major Version // Major Version
// Minor Version // Minor Version
// Build Number // Build Number
// Revision // Revision
// //
// 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.56")] [assembly: AssemblyVersion("1.0.57")]
[assembly: AssemblyFileVersion("1.0.56")] [assembly: AssemblyFileVersion("1.0.57")]
[assembly: AssemblyInformationalVersion("1.0.56")] [assembly: AssemblyInformationalVersion("1.0.57")]
@@ -94,7 +94,7 @@ namespace JiraTimeBot.TaskTime
return null; return null;
} }
private void FixTooBigInterval(Settings settings, int totalCommitsCount, int workHours) private void FixTooBigInterval(Settings settings, int workHours, int totalCommitsCount)
{ {
//если кол-во коммитов более чем кол-во интервалов - то уменьшим интервал вдвое. //если кол-во коммитов более чем кол-во интервалов - то уменьшим интервал вдвое.
while (totalCommitsCount > (workHours * (60.0 / settings.RoundToMinutes))) while (totalCommitsCount > (workHours * (60.0 / settings.RoundToMinutes)))