Compare commits

..
5 Commits
4 changed files with 44 additions and 36 deletions
+1 -1
View File
@@ -1 +1 @@
1.0.91
1.0.94
+1 -1
View File
@@ -13,7 +13,7 @@
- Путь до репо (Режим Mercurial, Git) - путь до папки, в которую клонируются исходники.
- Jira URL - адрес Jira-сервреа.
- Логин Jira - Логин в Jira (от этого пользователя будем выполнять запросы и вносить время).
- Пароль Jira - шифруется через DPAPI.
- Пароль Jira - шифруется через DPAPI (может быть JSessionID - если длинна = 32 (!)).
- Mercurial Name (Режим Mercurial) - обязателен к указанию для режима Mercurial - имя пользователя Mercurial, от которого проходят коммиты (именно UserName, не E-Mail).
- Округление времени - Для красоты распределения времени тут устанавливается округление. По умолчанию - 15 минут, получим время 1:15, 0:30 итд. Остаток нераспределенного времени будет внесен в самую долгую задачу или же если это невозможно - количество рабочего времени будет увеличено или уменьшено.
- JQL (Режим Jira) - можно задать свой JQL для поиска задач. Возможные замены: %USER% - Логин Jira, %DATE% дата на которую формируем список. Значнеие по умолчанию: status changed by '%USER%' during ("%DATE%","%DATE%")
+31 -31
View File
@@ -1,31 +1,31 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("JiraTimeBot")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("JiraTimeBot")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 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
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f3b89316-c38c-4ce6-9d88-0b1373cfba1a")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.91")]
[assembly: AssemblyFileVersion("1.0.91")]
[assembly: AssemblyInformationalVersion("1.0.91")]
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("JiraTimeBot")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("JiraTimeBot")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 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
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f3b89316-c38c-4ce6-9d88-0b1373cfba1a")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.94")]
[assembly: AssemblyFileVersion("1.0.94")]
[assembly: AssemblyInformationalVersion("1.0.94")]
+11 -3
View File
@@ -114,7 +114,7 @@ namespace JiraTimeBot.RepositoryProviders
continue;
}
var regex = new Regex("[a-zA-Z0-9]{1,4}-[0-9]{1,6}");
var regex = new Regex("[a-zA-Z0-9]{1,5}-[0-9]{1,6}");
var branch = ListBranchesContainsCommit(repo, commit.Sha)
.Select(f => f.FriendlyName)
.FirstOrDefault(f => regex.IsMatch(f));
@@ -184,7 +184,7 @@ namespace JiraTimeBot.RepositoryProviders
bool directBranchHasBeenFound = false;
foreach (var branch in repo.Branches)
{
if (branch.Tip.Sha != commitSha)
if (branch.Tip?.Sha != commitSha)
{
continue;
}
@@ -200,7 +200,15 @@ namespace JiraTimeBot.RepositoryProviders
foreach (var branch in repo.Branches)
{
var commits = repo.Commits.QueryBy(new CommitFilter { IncludeReachableFrom = branch }).Where(c => c.Sha == commitSha);
List<Commit> commits = new List<Commit>();
try
{
commits = repo.Commits.QueryBy(new CommitFilter {IncludeReachableFrom = branch}).Where(c => c.Sha == commitSha).ToList();
}
catch (Exception)
{
continue;
}
if (!commits.Any())
{