@@ -50,38 +50,7 @@ public IEnumerable<IIssue> ReadIssues()
50
50
// Process providers in parallel
51
51
_ = Parallel . For ( 0 , this . issueProviders . Count , i =>
52
52
{
53
- var issueProvider = this . issueProviders [ i ] ;
54
- var providerName = issueProvider . GetType ( ) . Name ;
55
- this . log . Verbose ( "Initialize issue provider {0}..." , providerName ) ;
56
-
57
- if ( issueProvider . Initialize ( this . settings ) )
58
- {
59
- this . log . Verbose ( "Reading issues from {0}..." , providerName ) ;
60
- var currentIssues = issueProvider . ReadIssues ( ) . ToList ( ) ;
61
-
62
- this . log . Verbose (
63
- "Found {0} issues using issue provider {1}..." ,
64
- currentIssues . Count ,
65
- providerName ) ;
66
-
67
- // Post-process issues - this is thread-safe as each provider gets its own issues
68
- currentIssues . ForEach ( x =>
69
- {
70
- x . Run = this . settings . Run ;
71
-
72
- if ( this . settings . FileLinkSettings != null )
73
- {
74
- x . FileLink = this . settings . FileLinkSettings . GetFileLink ( x ) ;
75
- }
76
- } ) ;
77
-
78
- results [ i ] = currentIssues ;
79
- }
80
- else
81
- {
82
- this . log . Warning ( "Error initializing issue provider {0}." , providerName ) ;
83
- results [ i ] = [ ] ;
84
- }
53
+ results [ i ] = this . ReadIssuesFromProvider ( this . issueProviders [ i ] ) ;
85
54
} ) ;
86
55
87
56
stopwatch . Stop ( ) ;
@@ -95,4 +64,39 @@ public IEnumerable<IIssue> ReadIssues()
95
64
96
65
return issuesList ;
97
66
}
67
+
68
+ private List < IIssue > ReadIssuesFromProvider ( IIssueProvider issueProvider )
69
+ {
70
+ var providerName = issueProvider . GetType ( ) . Name ;
71
+ this . log . Verbose ( "Initialize issue provider {0}..." , providerName ) ;
72
+
73
+ if ( issueProvider . Initialize ( this . settings ) )
74
+ {
75
+ this . log . Verbose ( "Reading issues from {0}..." , providerName ) ;
76
+ var currentIssues = issueProvider . ReadIssues ( ) . ToList ( ) ;
77
+
78
+ this . log . Verbose (
79
+ "Found {0} issues using issue provider {1}..." ,
80
+ currentIssues . Count ,
81
+ providerName ) ;
82
+
83
+ // Post-process issues - this is thread-safe as each provider gets its own issues
84
+ currentIssues . ForEach ( x =>
85
+ {
86
+ x . Run = this . settings . Run ;
87
+
88
+ if ( this . settings . FileLinkSettings != null )
89
+ {
90
+ x . FileLink = this . settings . FileLinkSettings . GetFileLink ( x ) ;
91
+ }
92
+ } ) ;
93
+ return currentIssues ;
94
+ }
95
+ else
96
+ {
97
+ this . log . Warning ( "Error initializing issue provider {0}." , providerName ) ;
98
+ return [ ] ;
99
+ }
100
+
101
+ }
98
102
}
0 commit comments