@elisra-devops/docgen-data-provider 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -54,7 +54,7 @@ class TFSServices {
54
54
  }
55
55
  return json;
56
56
  }
57
- static async postRequest(url, pat, requestMethod = 'post', data, customHeaders = {}) {
57
+ static async postRequest(url, pat, requestMethod = 'post', data, customHeaders = { headers: { 'Content-Type': 'application/json' } }) {
58
58
  let config = {
59
59
  headers: customHeaders,
60
60
  method: requestMethod,
@@ -1 +1 @@
1
- {"version":3,"file":"tfs.js","sourceRoot":"","sources":["../../src/helpers/tfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tfs.js","sourceRoot":"","sources":["../../src/helpers/tfs.ts"],"names":[],"mappings":"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"}
@@ -103,4 +103,47 @@ export declare class TestSteps {
103
103
  expected: string;
104
104
  isSharedStepTitle: boolean;
105
105
  }
106
+ export interface GitVersionDescriptor {
107
+ version: string;
108
+ versionType: string;
109
+ }
110
+ export interface Pipeline {
111
+ id: number;
112
+ revision: number;
113
+ name: string;
114
+ }
115
+ export interface Repository {
116
+ id: string;
117
+ name: string;
118
+ url: string;
119
+ }
120
+ export interface ResourceRepository {
121
+ repoName: string;
122
+ repoSha1: string;
123
+ url: string;
124
+ }
125
+ export interface Link {
126
+ href: string;
127
+ }
128
+ export interface PipelineLinks {
129
+ self: Link;
130
+ web: Link;
131
+ 'pipeline.web': Link;
132
+ pipeline: Link;
133
+ }
134
+ export interface PipelineResources {
135
+ repositories: any;
136
+ }
137
+ export interface PipelineRun {
138
+ _links: PipelineLinks;
139
+ pipeline: Pipeline;
140
+ state: string;
141
+ result: string;
142
+ createdDate: string;
143
+ finishedDate: string;
144
+ url: string;
145
+ resources: PipelineResources;
146
+ id: number;
147
+ name: string;
148
+ }
106
149
  export {};
@@ -1,4 +1,5 @@
1
- import TicketsDataProvider from "./TicketsDataProvider";
1
+ import TicketsDataProvider from './TicketsDataProvider';
2
+ import { GitVersionDescriptor } from '../models/tfs-data';
2
3
  export default class GitDataProvider {
3
4
  orgUrl: string;
4
5
  token: string;
@@ -15,6 +16,7 @@ export default class GitDataProvider {
15
16
  GetCommitByCommitId(projectId: string, repositoryId: string, commitSha: string): Promise<any>;
16
17
  GetCommitForPipeline(projectId: string, buildId: number): Promise<any>;
17
18
  GetItemsForPipelinesRange(projectId: string, fromBuildId: number, toBuildId: number): Promise<any>;
19
+ getItemsForPipelineRange(projectName: string, extendedCommits: any[], targetRepo: any): Promise<any[]>;
18
20
  GetCommitsInDateRange(projectId: string, repositoryId: string, fromDate: string, toDate: string, branchName?: string): Promise<any>;
19
21
  GetCommitsInCommitRange(projectId: string, repositoryId: string, fromSha: string, toSha: string): Promise<any>;
20
22
  CreatePullRequestComment(projectName: string, repoID: string, pullRequestID: number, threads: any): Promise<any>;
@@ -23,4 +25,5 @@ export default class GitDataProvider {
23
25
  GetPullRequestsForRepo(projectName: string, repoID: string): Promise<any>;
24
26
  GetItemsInPullRequestRange(projectId: string, repositoryId: string, pullRequestIDs: any): Promise<any>;
25
27
  GetRepoBranches(projectName: string, repoID: string): Promise<any>;
28
+ GetCommitBatch(projectName: string, repoID: string, itemVersion: GitVersionDescriptor, compareVersion: GitVersionDescriptor): Promise<any[]>;
26
29
  }
@@ -5,8 +5,8 @@ const TicketsDataProvider_1 = require("./TicketsDataProvider");
5
5
  const logger_1 = require("../utils/logger");
6
6
  class GitDataProvider {
7
7
  constructor(orgUrl, token) {
8
- this.orgUrl = "";
9
- this.token = "";
8
+ this.orgUrl = '';
9
+ this.token = '';
10
10
  this.orgUrl = orgUrl;
11
11
  this.token = token;
12
12
  this.ticketsDataProvider = new TicketsDataProvider_1.default(this.orgUrl, this.token);
@@ -14,27 +14,27 @@ class GitDataProvider {
14
14
  async GetTeamProjectGitReposList(teamProject) {
15
15
  logger_1.default.debug(`fetching repos list for team project - ${teamProject}`);
16
16
  let url = `${this.orgUrl}/${teamProject}/_apis/git/repositories`;
17
- return tfs_1.TFSServices.getItemContent(url, this.token, "get");
17
+ return tfs_1.TFSServices.getItemContent(url, this.token, 'get');
18
18
  } //GetGitRepoFromPrId
19
19
  async GetGitRepoFromRepoId(repoId) {
20
20
  logger_1.default.debug(`fetching repo data by id - ${repoId}`);
21
21
  let url = `${this.orgUrl}_apis/git/repositories/${repoId}`;
22
- return tfs_1.TFSServices.getItemContent(url, this.token, "get");
22
+ return tfs_1.TFSServices.getItemContent(url, this.token, 'get');
23
23
  } //GetGitRepoFromPrId
24
24
  async GetJsonFileFromGitRepo(projectName, repoName, filePath) {
25
25
  let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoName}/items?path=${filePath}&includeContent=true`;
26
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
26
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get');
27
27
  let jsonObject = JSON.parse(res.content);
28
28
  return jsonObject;
29
29
  } //GetJsonFileFromGitRepo
30
30
  async GetGitRepoFromPrId(pullRequestId) {
31
31
  let url = `${this.orgUrl}_apis/git/pullrequests/${pullRequestId}`;
32
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
32
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get');
33
33
  return res;
34
34
  } //GetGitRepoFromPrId
35
35
  async GetPullRequestCommits(repositoryId, pullRequestId) {
36
36
  let url = `${this.orgUrl}_apis/git/repositories/${repositoryId}/pullRequests/${pullRequestId}/commits`;
37
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
37
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get');
38
38
  return res;
39
39
  } //GetGitRepoFromPrId
40
40
  async GetPullRequestsLinkedItemsInCommitRange(projectId, repositoryId, commitRangeArray) {
@@ -43,7 +43,7 @@ class GitDataProvider {
43
43
  //get all pr's in git repo
44
44
  let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
45
45
  logger_1.default.debug(`request url: ${url}`);
46
- let pullRequestsArray = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
46
+ let pullRequestsArray = await tfs_1.TFSServices.getItemContent(url, this.token, 'get');
47
47
  logger_1.default.info(`got ${pullRequestsArray.count} pullrequests for repo: ${repositoryId}`);
48
48
  //iterate commit list to filter relavant pullrequests
49
49
  pullRequestsArray.value.forEach((pr) => {
@@ -61,7 +61,7 @@ class GitDataProvider {
61
61
  if (pr._links.workItems.href) {
62
62
  //get workitems linked to pr
63
63
  let url = pr._links.workItems.href;
64
- linkedItems = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
64
+ linkedItems = await tfs_1.TFSServices.getItemContent(url, this.token, 'get');
65
65
  logger_1.default.info(`got ${linkedItems.count} items linked to pr ${pr.pullRequestId}`);
66
66
  await Promise.all(linkedItems.value.map(async (item) => {
67
67
  let populatedItem = await this.ticketsDataProvider.GetWorkItem(projectId, item.id);
@@ -117,7 +117,7 @@ class GitDataProvider {
117
117
  // Get all PRs in the git repo
118
118
  let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
119
119
  logger_1.default.debug(`request url: ${url}`);
120
- let pullRequestsArray = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
120
+ let pullRequestsArray = await tfs_1.TFSServices.getItemContent(url, this.token, 'get');
121
121
  logger_1.default.info(`got ${pullRequestsArray.count} pullrequests for repo: ${repositoryId}`);
122
122
  // Iterate commit list to filter relevant pull requests
123
123
  pullRequestsArray.value.forEach((pr) => {
@@ -133,7 +133,7 @@ class GitDataProvider {
133
133
  closedDate: pr.closedDate,
134
134
  title: pr.title,
135
135
  description: pr.description,
136
- url: prUrl // Use the constructed URL here
136
+ url: prUrl, // Use the constructed URL here
137
137
  };
138
138
  pullRequestsFilteredArray.push(prFilteredData);
139
139
  }
@@ -144,17 +144,18 @@ class GitDataProvider {
144
144
  } // GetPullRequestsInCommitRangeWithoutLinkedItems
145
145
  async GetCommitByCommitId(projectId, repositoryId, commitSha) {
146
146
  let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/commits/${commitSha}`;
147
- return tfs_1.TFSServices.getItemContent(url, this.token, "get");
147
+ return tfs_1.TFSServices.getItemContent(url, this.token, 'get');
148
148
  }
149
149
  async GetCommitForPipeline(projectId, buildId) {
150
150
  let url = `${this.orgUrl}${projectId}/_apis/build/builds/${buildId}`;
151
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
151
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get');
152
152
  return res.sourceVersion;
153
153
  } //GetCommitForPipeline
154
+ //TODO: replace this....
154
155
  async GetItemsForPipelinesRange(projectId, fromBuildId, toBuildId) {
155
156
  let linkedItemsArray = [];
156
157
  let url = `${this.orgUrl}${projectId}/_apis/build/workitems?fromBuildId=${fromBuildId}&toBuildId=${toBuildId}&$top=2000`;
157
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
158
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get');
158
159
  logger_1.default.info(`recieved ${res.count} items in build range ${fromBuildId}-${toBuildId}`);
159
160
  await Promise.all(res.value.map(async (wi) => {
160
161
  let populatedItem = await this.ticketsDataProvider.GetWorkItem(projectId, wi.id);
@@ -163,6 +164,49 @@ class GitDataProvider {
163
164
  }));
164
165
  return linkedItemsArray;
165
166
  } //GetCommitForPipeline
167
+ async getItemsForPipelineRange(projectName, extendedCommits, targetRepo) {
168
+ var _a;
169
+ let commitChangesArray = [];
170
+ try {
171
+ if ((extendedCommits === null || extendedCommits === void 0 ? void 0 : extendedCommits.length) === 0) {
172
+ throw new Error('extended commits cannot be empty');
173
+ }
174
+ //First fetch the repo web url
175
+ if (targetRepo.url) {
176
+ const repoData = await tfs_1.TFSServices.getItemContent(targetRepo.url, this.token);
177
+ const repoWebUrl = (_a = repoData._links) === null || _a === void 0 ? void 0 : _a.web.href;
178
+ if (repoWebUrl) {
179
+ targetRepo['url'] = repoWebUrl;
180
+ }
181
+ }
182
+ //Then extend the commit information with the related WIs
183
+ for (const extendedCommit of extendedCommits) {
184
+ const { commit } = extendedCommit;
185
+ if (!commit.workItems) {
186
+ throw new Error(`commit ${commit.commitId} does not have work items`);
187
+ }
188
+ for (const wi of commit.workItems) {
189
+ const populatedWorkItem = await this.ticketsDataProvider.GetWorkItem(projectName, wi.id);
190
+ let changeSet = { workItem: populatedWorkItem, commit: commit, targetRepo };
191
+ commitChangesArray.push(changeSet);
192
+ }
193
+ }
194
+ let workItemIds = [];
195
+ for (let index = 0; index < commitChangesArray.length; index++) {
196
+ if (workItemIds.includes(commitChangesArray[index].workItem.id)) {
197
+ commitChangesArray.splice(index, 1);
198
+ index--;
199
+ }
200
+ else {
201
+ workItemIds.push(commitChangesArray[index].workItem.id);
202
+ }
203
+ }
204
+ }
205
+ catch (error) {
206
+ logger_1.default.error(error.message);
207
+ }
208
+ return commitChangesArray;
209
+ }
166
210
  async GetCommitsInDateRange(projectId, repositoryId, fromDate, toDate, branchName) {
167
211
  let url;
168
212
  if (typeof branchName !== 'undefined') {
@@ -171,20 +215,20 @@ class GitDataProvider {
171
215
  else {
172
216
  url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/commits?searchCriteria.fromDate=${fromDate}&searchCriteria.toDate=${toDate}&searchCriteria.includeWorkItems=true&searchCriteria.$top=2000`;
173
217
  }
174
- return tfs_1.TFSServices.getItemContent(url, this.token, "get");
218
+ return tfs_1.TFSServices.getItemContent(url, this.token, 'get');
175
219
  } //GetCommitsInDateRange
176
220
  async GetCommitsInCommitRange(projectId, repositoryId, fromSha, toSha) {
177
221
  let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/commits?searchCriteria.fromCommitId=${fromSha}&searchCriteria.toCommitId=${toSha}&searchCriteria.includeWorkItems=true&searchCriteria.$top=2000`;
178
- return tfs_1.TFSServices.getItemContent(url, this.token, "get");
222
+ return tfs_1.TFSServices.getItemContent(url, this.token, 'get');
179
223
  } //GetCommitsInCommitRange doesen't work!!!
180
224
  async CreatePullRequestComment(projectName, repoID, pullRequestID, threads) {
181
225
  let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/pullRequests/${pullRequestID}/threads?api-version=5.0`;
182
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "post", threads, null);
226
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'post', threads, null);
183
227
  return res;
184
228
  }
185
229
  async GetPullRequestComments(projectName, repoID, pullRequestID) {
186
230
  let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/pullRequests/${pullRequestID}/threads`;
187
- return tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
231
+ return tfs_1.TFSServices.getItemContent(url, this.token, 'get', null, null);
188
232
  }
189
233
  async GetCommitsForRepo(projectName, repoID, branchName) {
190
234
  let url;
@@ -194,12 +238,12 @@ class GitDataProvider {
194
238
  else {
195
239
  url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/commits?searchCriteria.$top=2000`;
196
240
  }
197
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
241
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get', null, null);
198
242
  return res;
199
243
  }
200
244
  async GetPullRequestsForRepo(projectName, repoID) {
201
245
  let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
202
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
246
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get', null, null);
203
247
  return res;
204
248
  }
205
249
  async GetItemsInPullRequestRange(projectId, repositoryId, pullRequestIDs) {
@@ -208,7 +252,7 @@ class GitDataProvider {
208
252
  //get all pr's in git repo
209
253
  let url = `${this.orgUrl}${projectId}/_apis/git/repositories/${repositoryId}/pullrequests?status=completed&includeLinks=true&$top=2000}`;
210
254
  logger_1.default.debug(`request url: ${url}`);
211
- let pullRequestsArray = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
255
+ let pullRequestsArray = await tfs_1.TFSServices.getItemContent(url, this.token, 'get');
212
256
  logger_1.default.info(`got ${pullRequestsArray.count} pullrequests for repo: ${repositoryId}`);
213
257
  //iterate commit list to filter relavant pullrequests
214
258
  pullRequestsArray.value.forEach((pr) => {
@@ -226,7 +270,7 @@ class GitDataProvider {
226
270
  if (pr._links.workItems.href) {
227
271
  //get workitems linked to pr
228
272
  let url = pr._links.workItems.href;
229
- linkedItems = await tfs_1.TFSServices.getItemContent(url, this.token, "get");
273
+ linkedItems = await tfs_1.TFSServices.getItemContent(url, this.token, 'get');
230
274
  logger_1.default.info(`got ${linkedItems.count} items linked to pr ${pr.pullRequestId}`);
231
275
  await Promise.all(linkedItems.value.map(async (item) => {
232
276
  let populatedItem = await this.ticketsDataProvider.GetWorkItem(projectId, item.id);
@@ -246,9 +290,60 @@ class GitDataProvider {
246
290
  }
247
291
  async GetRepoBranches(projectName, repoID) {
248
292
  let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/refs?searchCriteria.$top=1000&filter=heads`;
249
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
293
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get', null, null);
250
294
  return res;
251
295
  }
296
+ async GetCommitBatch(projectName, repoID, itemVersion, compareVersion) {
297
+ var _a;
298
+ const allCommitsExtended = [];
299
+ let skipping = 0;
300
+ let chunkSize = 100;
301
+ let commitCounter = 0;
302
+ let logToConsoleAfterCommits = 500;
303
+ try {
304
+ let body = {
305
+ itemVersion,
306
+ compareVersion,
307
+ includeWorkItems: true,
308
+ };
309
+ let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/commitsBatch?api-version=5.0&$skip=${skipping}&$top=${chunkSize}`;
310
+ let commitsResponse = await tfs_1.TFSServices.postRequest(url, this.token, undefined, body);
311
+ let commits = commitsResponse.data;
312
+ while (commits.count > 0) {
313
+ for (const commit of commits.value) {
314
+ try {
315
+ if (commitCounter % logToConsoleAfterCommits === 0) {
316
+ logger_1.default.debug(`commit number ${commitCounter + 1}`);
317
+ }
318
+ if (((_a = commit.workItems) === null || _a === void 0 ? void 0 : _a.length) > 0) {
319
+ let extendedCommit = {};
320
+ extendedCommit['commit'] = commit;
321
+ let committerName = commit.committer.name;
322
+ let commitDate = commit.committer.date.toString().slice(0, 10);
323
+ extendedCommit['committerName'] = committerName;
324
+ extendedCommit['commitDate'] = commitDate;
325
+ allCommitsExtended.push(extendedCommit);
326
+ }
327
+ }
328
+ catch (err) {
329
+ const errMsg = `Cannot fetch commit batch: ${err.message}`;
330
+ throw new Error(errMsg);
331
+ }
332
+ finally {
333
+ commitCounter++;
334
+ }
335
+ }
336
+ skipping += chunkSize;
337
+ let url = `${this.orgUrl}${projectName}/_apis/git/repositories/${repoID}/commitsBatch?api-version=5.0&$skip=${skipping}&$top=${chunkSize}`;
338
+ commitsResponse = await tfs_1.TFSServices.postRequest(url, this.token, undefined, body);
339
+ commits = commitsResponse.data;
340
+ }
341
+ }
342
+ catch (error) {
343
+ logger_1.default.error(error.message);
344
+ }
345
+ return allCommitsExtended;
346
+ }
252
347
  }
253
348
  exports.default = GitDataProvider;
254
349
  //# sourceMappingURL=GitDataProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GitDataProvider.js","sourceRoot":"","sources":["../../src/modules/GitDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GitDataProvider.js","sourceRoot":"","sources":["../../src/modules/GitDataProvider.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
+ import { PipelineRun } from '../models/tfs-data';
2
+ import GitDataProvider from './GitDataProvider';
1
3
  export default class PipelinesDataProvider {
2
4
  orgUrl: string;
3
5
  token: string;
4
6
  constructor(orgUrl: string, token: string);
7
+ findPreviousPipeline(projectName: string, pipeLineId: string, toPipelineRunId: number, toPipeline: any, searchPrevPipelineFromDifferentCommit: boolean): Promise<any>;
8
+ getPipelineResourceRepositoriesFromObject(inPipeline: PipelineRun, gitDataProviderInstance: GitDataProvider): Promise<any[] | Set<any>>;
5
9
  getPipelineFromPipelineId(projectName: string, buildId: number): Promise<any>;
10
+ getPipelineRunBuildById(projectName: string, pipelineId: number, runId: number): Promise<any>;
6
11
  TriggerBuildById(projectName: string, buildDefanitionId: string, parameter: any): Promise<any>;
7
12
  GetArtifactByBuildId(projectName: string, buildId: string, artifactName: string): Promise<any>;
8
13
  GetReleaseByReleaseId(projectName: string, releaseId: number): Promise<any>;
@@ -4,15 +4,85 @@ const tfs_1 = require("../helpers/tfs");
4
4
  const logger_1 = require("../utils/logger");
5
5
  class PipelinesDataProvider {
6
6
  constructor(orgUrl, token) {
7
- this.orgUrl = "";
8
- this.token = "";
7
+ this.orgUrl = '';
8
+ this.token = '';
9
9
  this.orgUrl = orgUrl;
10
10
  this.token = token;
11
11
  }
12
+ async findPreviousPipeline(projectName, pipeLineId, toPipelineRunId, toPipeline, searchPrevPipelineFromDifferentCommit) {
13
+ // get pipeline runs:
14
+ const pipelineRuns = await this.GetPipelineRunHistory(projectName, pipeLineId);
15
+ for (const pipelineRun of pipelineRuns.value) {
16
+ if (pipelineRun.id >= toPipelineRunId) {
17
+ continue;
18
+ }
19
+ if (pipelineRun.result !== 'succeeded') {
20
+ continue;
21
+ }
22
+ const fromPipeline = await this.getPipelineFromPipelineId(projectName, Number(pipeLineId));
23
+ if (!fromPipeline.resources.repositories) {
24
+ continue;
25
+ }
26
+ const fromPipelineRepositories = fromPipeline.resources.repositories;
27
+ logger_1.default.debug(`from pipeline repositories ${JSON.stringify(fromPipelineRepositories)}`);
28
+ const toPipelineRepositories = toPipeline.resources.repositories;
29
+ logger_1.default.debug(`to pipeline repositories ${JSON.stringify(toPipelineRepositories)}`);
30
+ const fromPipeLineSelfRepo = '__designer_repo' in fromPipelineRepositories
31
+ ? fromPipelineRepositories['__designer_repo']
32
+ : 'self' in fromPipelineRepositories
33
+ ? fromPipelineRepositories['self']
34
+ : undefined;
35
+ const toPipeLineSelfRepo = '__designer_repo' in toPipelineRepositories
36
+ ? toPipelineRepositories['__designer_repo']
37
+ : 'self' in toPipelineRepositories
38
+ ? toPipelineRepositories['self']
39
+ : undefined;
40
+ if (fromPipeLineSelfRepo.repository.id === toPipeLineSelfRepo.repository.id &&
41
+ fromPipeLineSelfRepo.version === toPipeLineSelfRepo.version) {
42
+ if (searchPrevPipelineFromDifferentCommit) {
43
+ continue;
44
+ }
45
+ }
46
+ if (fromPipeLineSelfRepo.repository.id === toPipeLineSelfRepo.repository.id &&
47
+ fromPipeLineSelfRepo.refName !== toPipeLineSelfRepo.refName) {
48
+ continue;
49
+ }
50
+ return pipelineRun.id;
51
+ }
52
+ return undefined;
53
+ }
54
+ async getPipelineResourceRepositoriesFromObject(inPipeline, gitDataProviderInstance) {
55
+ const resourceRepositories = new Set();
56
+ if (!inPipeline.resources.repositories) {
57
+ return resourceRepositories;
58
+ }
59
+ const repositories = inPipeline.resources.repositories;
60
+ for (const prop in repositories) {
61
+ const resourceRepo = repositories[prop];
62
+ if (resourceRepo.repository.type !== 'azureReposGit') {
63
+ continue;
64
+ }
65
+ const repoId = resourceRepo.repository.id;
66
+ const repo = await gitDataProviderInstance.GetGitRepoFromRepoId(repoId);
67
+ const resourceRepository = {
68
+ repoName: repo.name,
69
+ repoSha1: resourceRepo.version,
70
+ url: repo.url,
71
+ };
72
+ if (!resourceRepositories.has(resourceRepository)) {
73
+ resourceRepositories.add(resourceRepository);
74
+ }
75
+ }
76
+ return [...resourceRepositories];
77
+ }
12
78
  async getPipelineFromPipelineId(projectName, buildId) {
13
79
  let url = `${this.orgUrl}${projectName}/_apis/build/builds/${buildId}`;
14
- return tfs_1.TFSServices.getItemContent(url, this.token, "get");
80
+ return tfs_1.TFSServices.getItemContent(url, this.token, 'get');
15
81
  } //GetCommitForPipeline
82
+ async getPipelineRunBuildById(projectName, pipelineId, runId) {
83
+ let url = `${this.orgUrl}${projectName}/_apis/pipelines/${pipelineId}/runs/${runId}`;
84
+ return tfs_1.TFSServices.getItemContent(url, this.token);
85
+ }
16
86
  async TriggerBuildById(projectName, buildDefanitionId, parameter) {
17
87
  let data = {
18
88
  definition: {
@@ -22,7 +92,7 @@ class PipelinesDataProvider {
22
92
  };
23
93
  logger_1.default.info(JSON.stringify(data));
24
94
  let url = `${this.orgUrl}${projectName}/_apis/build/builds?api-version=5.0`;
25
- let res = await tfs_1.TFSServices.postRequest(url, this.token, "post", data, null);
95
+ let res = await tfs_1.TFSServices.postRequest(url, this.token, 'post', data, null);
26
96
  return res;
27
97
  }
28
98
  async GetArtifactByBuildId(projectName, buildId, artifactName) {
@@ -30,13 +100,13 @@ class PipelinesDataProvider {
30
100
  logger_1.default.info(`Get artifactory from project ${projectName},BuildId ${buildId} artifact name ${artifactName}`);
31
101
  logger_1.default.info(`Check if build ${buildId} have artifact`);
32
102
  let url = `${this.orgUrl}${projectName}/_apis/build/builds/${buildId}/artifacts`;
33
- let response = await tfs_1.TFSServices.getItemContent(url, this.token, "Get", null, null);
103
+ let response = await tfs_1.TFSServices.getItemContent(url, this.token, 'Get', null, null);
34
104
  if (response.count == 0) {
35
105
  logger_1.default.info(`No artifact for build ${buildId} was published `);
36
106
  return response;
37
107
  }
38
108
  url = `${this.orgUrl}${projectName}/_apis/build/builds/${buildId}/artifacts?artifactName=${artifactName}`;
39
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "Get", null, null);
109
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'Get', null, null);
40
110
  logger_1.default.info(`Url for download :${res.resource.downloadUrl}`);
41
111
  let result = await tfs_1.TFSServices.downloadZipFile(res.resource.downloadUrl, this.token);
42
112
  return result;
@@ -48,29 +118,35 @@ class PipelinesDataProvider {
48
118
  }
49
119
  async GetReleaseByReleaseId(projectName, releaseId) {
50
120
  let url = `${this.orgUrl}${projectName}/_apis/release/releases/${releaseId}`;
51
- url = url.replace("dev.azure.com", "vsrm.dev.azure.com");
52
- return tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
121
+ url = url.replace('dev.azure.com', 'vsrm.dev.azure.com');
122
+ return tfs_1.TFSServices.getItemContent(url, this.token, 'get', null, null);
53
123
  }
54
124
  async GetPipelineRunHistory(projectName, pipelineId) {
55
125
  let url = `${this.orgUrl}${projectName}/_apis/pipelines/${pipelineId}/runs`;
56
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
126
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get', null, null);
127
+ //Filter successful builds only
128
+ let { value } = res;
129
+ if (value) {
130
+ const successfulRunHistory = value.filter((run) => run.result === 'succeeded');
131
+ return { count: successfulRunHistory.length, value: successfulRunHistory };
132
+ }
57
133
  return res;
58
134
  }
59
135
  async GetReleaseHistory(projectName, definitionId) {
60
136
  let url = `${this.orgUrl}${projectName}/_apis/release/releases?definitionId=${definitionId}&$top=2000`;
61
- url = url.replace("dev.azure.com", "vsrm.dev.azure.com");
62
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
137
+ url = url.replace('dev.azure.com', 'vsrm.dev.azure.com');
138
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get', null, null);
63
139
  return res;
64
140
  }
65
141
  async GetAllPipelines(projectName) {
66
142
  let url = `${this.orgUrl}${projectName}/_apis/pipelines?$top=2000`;
67
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
143
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get', null, null);
68
144
  return res;
69
145
  }
70
146
  async GetAllReleaseDefenitions(projectName) {
71
147
  let url = `${this.orgUrl}${projectName}/_apis/release/definitions?$top=2000`;
72
- url = url.replace("dev.azure.com", "vsrm.dev.azure.com");
73
- let res = await tfs_1.TFSServices.getItemContent(url, this.token, "get", null, null);
148
+ url = url.replace('dev.azure.com', 'vsrm.dev.azure.com');
149
+ let res = await tfs_1.TFSServices.getItemContent(url, this.token, 'get', null, null);
74
150
  return res;
75
151
  }
76
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PipelinesDataProvider.js","sourceRoot":"","sources":["../../src/modules/PipelinesDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PipelinesDataProvider.js","sourceRoot":"","sources":["../../src/modules/PipelinesDataProvider.ts"],"names":[],"mappings":"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"}