Skip to content
This repository was archived by the owner on Sep 20, 2022. It is now read-only.

Commit f7afd3f

Browse files
committed
Merge pull request #30 from pvandervelde/issue/youtrackcleanup
Fixed issues noted in #29
2 parents 0716744 + c7bd654 commit f7afd3f

4 files changed

Lines changed: 26 additions & 29 deletions

File tree

src/GitReleaseNotes/GitReleaseNotesArguments.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ public class GitReleaseNotesArguments
3333
[Description("Issue tracker password")]
3434
public string Password { get; set; }
3535

36-
[Description("Jira project ID")]
37-
public string JiraProjectId { get; set; }
36+
[Description("Issue tracker project ID")]
37+
public string ProjectId { get; set; }
3838

3939
[Description("Jql query for closed issues you would like included if mentioned. Defaults to project = <YOURPROJECTID> AND (issuetype = Bug OR issuetype = Story OR issuetype = \"New Feature\") AND status in (Closed, Done, Resolved)")]
4040
public string Jql { get; set; }
@@ -45,9 +45,6 @@ public class GitReleaseNotesArguments
4545
[Description("Url of YouTrack server")]
4646
public string YouTrackServer { get; set; }
4747

48-
[Description("YouTrack project ID")]
49-
public string YouTrackProjectId { get; set; }
50-
5148
[Description("YouTrack filter for closed issues that you would like included if mentioned. Defaults to project:<YOURPROJECTID> State:Resolved State:-{{Won't fix}} State:-{{Can't Reproduce}} State:-Duplicate")]
5249
public string YouTrackFilter { get; set; }
5350

src/GitReleaseNotes/IssueTrackers/Jira/JiraIssueTracker.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public JiraIssueTracker(IJiraApi jiraApi, GitReleaseNotesArguments arguments)
1515
{
1616
_jiraApi = jiraApi;
1717
_arguments = arguments;
18-
_issueNumberRegex = new Regex(string.Format(@"(?<issueNumber>{0}-\d+)", arguments.JiraProjectId));
18+
_issueNumberRegex = new Regex(string.Format(@"(?<issueNumber>{0}-\d+)", arguments.ProjectId));
1919
}
2020

2121
public bool VerifyArgumentsAndWriteErrorsToConsole()
@@ -27,7 +27,7 @@ public bool VerifyArgumentsAndWriteErrorsToConsole()
2727
return false;
2828
}
2929

30-
if (string.IsNullOrEmpty(_arguments.JiraProjectId))
30+
if (string.IsNullOrEmpty(_arguments.ProjectId))
3131
{
3232
Console.WriteLine("/JiraProjectId is a required parameter for Jira");
3333
return false;
@@ -48,7 +48,7 @@ public bool VerifyArgumentsAndWriteErrorsToConsole()
4848
{
4949
_arguments.Jql = string.Format("project = {0} AND " +
5050
"(issuetype = Bug OR issuetype = Story OR issuetype = \"New Feature\") AND " +
51-
"status in (Closed, Done, Resolved)", _arguments.JiraProjectId);
51+
"status in (Closed, Done, Resolved)", _arguments.ProjectId);
5252
}
5353

5454
return true;

src/GitReleaseNotes/IssueTrackers/YouTrack/YouTrackApi.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,17 @@ namespace GitReleaseNotes.IssueTrackers.YouTrack
1212
{
1313
public sealed class YouTrackApi : IYouTrackApi
1414
{
15+
public IEnumerable<OnlineIssue> GetClosedIssues(GitReleaseNotesArguments arguments, DateTimeOffset? since)
16+
{
17+
var authenticationCookies = ConnectToYouTrack(arguments.Username, arguments.Password, arguments.YouTrackServer);
18+
return IssuesClosedSinceDate(
19+
authenticationCookies,
20+
arguments.YouTrackFilter,
21+
arguments.YouTrackServer,
22+
arguments.ProjectId,
23+
since);
24+
}
25+
1526
private static CookieCollection ConnectToYouTrack(string userName, string password, string youtrackHostUrl)
1627
{
1728
var loginUrl = string.Format(
@@ -64,9 +75,9 @@ private static IEnumerable<OnlineIssue> IssuesClosedSinceDate(
6475
if (since.HasValue)
6576
{
6677
query = string.Format(
67-
"{0} updated: {1:yyyy-MM-ddTHH:mm:ss} .. {2:yyyy-MM-ddTHH:mm:ss}",
78+
"{0} updated: {1:yyyy-MM-ddTHH:mm:ss} .. {2:yyyy-MM-ddTHH:mm:ss}",
6879
filter,
69-
since.Value,
80+
since.Value,
7081
DateTimeOffset.Now);
7182
}
7283
else
@@ -101,9 +112,9 @@ private static IEnumerable<OnlineIssue> IssuesClosedSinceDate(
101112
}
102113

103114
string rawText;
104-
using(var responseStream = response.GetResponseStream())
115+
using (var responseStream = response.GetResponseStream())
105116
{
106-
using(var responseReader = new StreamReader(responseStream))
117+
using (var responseReader = new StreamReader(responseStream))
107118
{
108119
rawText = responseReader.ReadToEnd();
109120
}
@@ -121,8 +132,8 @@ select subElement.Element("value").Value).FirstOrDefault(),
121132
where string.Equals("summary", subElement.Attribute("name").Value, StringComparison.OrdinalIgnoreCase)
122133
select subElement.Element("value").Value).FirstOrDefault(),
123134
Resolved = (from subElement in element.Descendants("field")
124-
where string.Equals("resolved", subElement.Attribute("name").Value, StringComparison.InvariantCultureIgnoreCase)
125-
select subElement.Element("value").Value).FirstOrDefault(),
135+
where string.Equals("resolved", subElement.Attribute("name").Value, StringComparison.InvariantCultureIgnoreCase)
136+
select subElement.Element("value").Value).FirstOrDefault(),
126137
};
127138

128139
int count = 0;
@@ -158,16 +169,5 @@ select subElement.Element("value").Value).FirstOrDefault(),
158169

159170
return result;
160171
}
161-
162-
public IEnumerable<OnlineIssue> GetClosedIssues(GitReleaseNotesArguments arguments, DateTimeOffset? since)
163-
{
164-
var authenticationCookies = ConnectToYouTrack(arguments.Username, arguments.Password, arguments.YouTrackServer);
165-
return IssuesClosedSinceDate(
166-
authenticationCookies,
167-
arguments.YouTrackFilter,
168-
arguments.YouTrackServer,
169-
arguments.YouTrackProjectId,
170-
since);
171-
}
172172
}
173173
}

src/GitReleaseNotes/IssueTrackers/YouTrack/YouTrackIssueTracker.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public YouTrackIssueTracker(IYouTrackApi youTrackApi, GitReleaseNotesArguments a
1515
{
1616
_youTrackApi = youTrackApi;
1717
_arguments = arguments;
18-
_issueNumberRegex = new Regex(string.Format(@"(?<issueNumber>{0}-\d+)", arguments.JiraProjectId));
18+
_issueNumberRegex = new Regex(string.Format(@"(?<issueNumber>{0}-\d+)", arguments.ProjectId));
1919
}
2020

2121
public bool VerifyArgumentsAndWriteErrorsToConsole()
@@ -27,9 +27,9 @@ public bool VerifyArgumentsAndWriteErrorsToConsole()
2727
return false;
2828
}
2929

30-
if (string.IsNullOrEmpty(_arguments.YouTrackProjectId))
30+
if (string.IsNullOrEmpty(_arguments.ProjectId))
3131
{
32-
Console.WriteLine("/YouTrackProjectId is a required parameter for YouTrack");
32+
Console.WriteLine("/ProjectId is a required parameter for YouTrack");
3333
return false;
3434
}
3535

@@ -48,7 +48,7 @@ public bool VerifyArgumentsAndWriteErrorsToConsole()
4848
{
4949
_arguments.YouTrackFilter = string.Format(
5050
"project:{0} State:Resolved State:-{{Won't fix}} State:-{{Can't Reproduce}} State:-Duplicate",
51-
_arguments.YouTrackProjectId);
51+
_arguments.ProjectId);
5252
}
5353

5454
return true;

0 commit comments

Comments
 (0)