@@ -70,7 +70,8 @@ public void Initialize(IBuildServerWatcher buildServerWatcher, ISettingsSource c
70
70
IsCommitInRevisionGrid = isCommitInRevisionGrid ;
71
71
var accountName = config . GetString ( "AppVeyorAccountName" , null ) ;
72
72
_accountToken = config . GetString ( "AppVeyorAccountToken" , null ) ;
73
- if ( string . IsNullOrEmpty ( accountName ) )
73
+ var projectNamesSetting = config . GetString ( "AppVeyorProjectName" , null ) ;
74
+ if ( accountName . IsNullOrWhiteSpace ( ) && projectNamesSetting . IsNullOrWhiteSpace ( ) )
74
75
return ;
75
76
76
77
_shouldLoadTestResults = config . GetBool ( "AppVeyorLoadTestsResults" , false ) ;
@@ -80,7 +81,6 @@ public void Initialize(IBuildServerWatcher buildServerWatcher, ISettingsSource c
80
81
81
82
_fetchBuilds = new HashSet < string > ( ) ;
82
83
_buildServerWatcher = buildServerWatcher ;
83
- var projectNamesSetting = config . GetString ( "AppVeyorProjectName" , null ) ;
84
84
85
85
_httpClientAppVeyor = GetHttpClient ( WebSiteUrl , _accountToken ) ;
86
86
@@ -101,6 +101,10 @@ public void Initialize(IBuildServerWatcher buildServerWatcher, ISettingsSource c
101
101
}
102
102
else
103
103
{
104
+ if ( accountName . IsNullOrWhiteSpace ( ) )
105
+ {
106
+ return ;
107
+ }
104
108
GetResponseAsync ( _httpClientAppVeyor , ApiBaseUrl , CancellationToken . None )
105
109
. ContinueWith (
106
110
task =>
@@ -112,46 +116,38 @@ public void Initialize(IBuildServerWatcher buildServerWatcher, ISettingsSource c
112
116
foreach ( var project in projects )
113
117
{
114
118
var projectId = project [ "slug" ] . ToString ( ) ;
119
+ projectId = accountName . Combine ( "/" , projectId ) ;
115
120
var projectName = project [ "name" ] . ToString ( ) ;
116
- if ( useAllProjets )
121
+ var projectObj = new Project
117
122
{
118
- Projects . Add ( projectName , new Project
119
- {
120
- Name = projectName ,
121
- Id = projectId ,
122
- QueryUrl = BuildQueryUrl ( accountName , projectId )
123
- } ) ;
124
- }
125
- else
123
+ Name = projectName ,
124
+ Id = projectId ,
125
+ QueryUrl = BuildQueryUrl ( projectId )
126
+ } ;
127
+
128
+ if ( useAllProjets || projectNames . Contains ( projectObj . Name ) )
126
129
{
127
- if ( projectNames . Contains ( projectName ) )
128
- Projects . Add ( projectName ,
129
- new Project
130
- {
131
- Name = projectName ,
132
- Id = projectId ,
133
- QueryUrl = BuildQueryUrl ( accountName , projectId )
134
- } ) ;
130
+ Projects . Add ( projectObj . Name , projectObj ) ;
135
131
}
136
132
}
137
133
} ) . Wait ( ) ;
138
134
}
139
135
}
140
136
var builds = Projects . Where ( p => useAllProjets || projectNames . Contains ( p . Value . Name ) ) . Select ( p => p . Value ) ;
141
137
_allBuilds =
142
- FilterBuilds ( builds . SelectMany ( project => QueryBuildsResults ( accountName , project . Id , project . QueryUrl ) ) ) ;
138
+ FilterBuilds ( builds . SelectMany ( project => QueryBuildsResults ( project ) ) ) ;
143
139
}
144
140
145
141
private void FillProjectsFromSettings ( string accountName , string [ ] projectNames )
146
142
{
147
143
foreach ( var projectName in projectNames )
148
144
{
149
- var projectId = projectName ;
145
+ var projectId = accountName . Combine ( "/" , projectName ) ;
150
146
Projects . Add ( projectName , new Project
151
147
{
152
148
Name = projectName ,
153
149
Id = projectId ,
154
- QueryUrl = BuildQueryUrl ( accountName , projectId )
150
+ QueryUrl = BuildQueryUrl ( projectId )
155
151
} ) ;
156
152
}
157
153
}
@@ -170,9 +166,9 @@ HttpClient GetHttpClient(string baseUrl, string accountToken)
170
166
return httpClient ;
171
167
}
172
168
173
- private string BuildQueryUrl ( string accountName , string projectId )
169
+ private string BuildQueryUrl ( string projectId )
174
170
{
175
- return ApiBaseUrl + accountName + "/" + projectId + "/history?recordsNumber=" + ProjectsToRetrieveCount ;
171
+ return ApiBaseUrl + projectId + "/history?recordsNumber=" + ProjectsToRetrieveCount ;
176
172
}
177
173
178
174
private class Project
@@ -182,17 +178,17 @@ private class Project
182
178
public string QueryUrl ;
183
179
}
184
180
185
- private List < BuildDetails > QueryBuildsResults ( string accountName , string projectId , string projectUrl )
181
+ private List < BuildDetails > QueryBuildsResults ( Project project )
186
182
{
187
- var buildTask = GetResponseAsync ( _httpClientAppVeyor , projectUrl , CancellationToken . None )
183
+ var buildTask = GetResponseAsync ( _httpClientAppVeyor , project . QueryUrl , CancellationToken . None )
188
184
. ContinueWith (
189
185
task =>
190
186
{
191
187
var jobDescription = JObject . Parse ( task . Result ) ;
192
188
var builds = jobDescription [ "builds" ] ;
193
189
var myBuilds = builds . Children ( ) ;
194
- var baseApiUrl = ApiBaseUrl + accountName + "/" + projectId ;
195
- var baseWebUrl = WebSiteUrl + "/project/" + accountName + "/" + projectId + "/build/" ;
190
+ var baseApiUrl = ApiBaseUrl + project . Id ;
191
+ var baseWebUrl = WebSiteUrl + "/project/" + project . Id + "/build/" ;
196
192
var isGitHubRepository = jobDescription [ "project" ] [ "repositoryType" ] . ToObject < string > ( ) ==
197
193
"gitHub" ;
198
194
var repoName = jobDescription [ "project" ] [ "repositoryName" ] . ToObject < string > ( ) ;
@@ -249,7 +245,7 @@ private List<BuildDetails> QueryBuildsResults(string accountName, string project
249
245
Status = status ,
250
246
StartDate = b [ "started" ] == null ? DateTime . MinValue : b [ "started" ] . ToObject < DateTime > ( ) ,
251
247
BaseWebUrl = baseWebUrl ,
252
- Url = WebSiteUrl + "/project/" + accountName + "/" + projectId + "/build/" + version ,
248
+ Url = WebSiteUrl + "/project/" + project . Id + "/build/" + version ,
253
249
BaseApiUrl = baseApiUrl ,
254
250
AppVeyorBuildReportUrl = baseApiUrl + "/build/" + version ,
255
251
PullRequestText = ( pullRequestId != null ? " PR#" + pullRequestId . Value < string > ( ) : string . Empty ) ,
0 commit comments