github-issue-tower-defence-management 1.71.1 → 1.73.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.
- package/.github/workflows/umino-project.yml +15 -7
- package/CHANGELOG.md +14 -0
- package/README.md +2 -1
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js +51 -0
- package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js.map +1 -1
- package/bin/domain/usecases/ChangeTargetPullRequestApprover.js +45 -0
- package/bin/domain/usecases/ChangeTargetPullRequestApprover.js.map +1 -0
- package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js +4 -1
- package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js.map +1 -1
- package/bin/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.js +5 -1
- package/bin/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.test.ts +139 -0
- package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts +69 -0
- package/src/domain/usecases/ChangeTargetPullRequestApprover.test.ts +131 -0
- package/src/domain/usecases/ChangeTargetPullRequestApprover.ts +58 -0
- package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.test.ts +249 -0
- package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts +12 -1
- package/src/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.test.ts +225 -0
- package/src/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.ts +15 -1
- package/src/domain/usecases/adapter-interfaces/IssueRepository.ts +2 -0
- package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts +2 -0
- package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts.map +1 -1
- package/types/domain/usecases/ChangeTargetPullRequestApprover.d.ts +9 -0
- package/types/domain/usecases/ChangeTargetPullRequestApprover.d.ts.map +1 -0
- package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts +2 -1
- package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts.map +1 -1
- package/types/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.d.ts +2 -1
- package/types/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.d.ts.map +1 -1
- package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts +2 -0
- package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts.map +1 -1
|
@@ -81,6 +81,8 @@ describe('RevertNotReadyAwaitingQualityCheckUseCase', () => {
|
|
|
81
81
|
updateStatus: jest.Mock;
|
|
82
82
|
findRelatedOpenPRs: jest.Mock;
|
|
83
83
|
getOpenPullRequest: jest.Mock;
|
|
84
|
+
getPullRequestChangedFilePaths: jest.Mock;
|
|
85
|
+
approvePullRequest: jest.Mock;
|
|
84
86
|
};
|
|
85
87
|
let mockIssueCommentRepository: {
|
|
86
88
|
createComment: jest.Mock;
|
|
@@ -105,6 +107,8 @@ describe('RevertNotReadyAwaitingQualityCheckUseCase', () => {
|
|
|
105
107
|
updateStatus: jest.fn().mockResolvedValue(undefined),
|
|
106
108
|
findRelatedOpenPRs: jest.fn().mockResolvedValue([]),
|
|
107
109
|
getOpenPullRequest: jest.fn().mockResolvedValue(null),
|
|
110
|
+
getPullRequestChangedFilePaths: jest.fn().mockResolvedValue([]),
|
|
111
|
+
approvePullRequest: jest.fn().mockResolvedValue(undefined),
|
|
108
112
|
};
|
|
109
113
|
|
|
110
114
|
mockIssueCommentRepository = {
|
|
@@ -405,4 +409,225 @@ describe('RevertNotReadyAwaitingQualityCheckUseCase', () => {
|
|
|
405
409
|
expect.stringContaining('REQUIRED_CI_JOB_NEVER_STARTED'),
|
|
406
410
|
);
|
|
407
411
|
});
|
|
412
|
+
|
|
413
|
+
describe('change-target label auto-approve', () => {
|
|
414
|
+
const setupReadyIssue = (labels: string[]) => {
|
|
415
|
+
const issue = createMockIssue({
|
|
416
|
+
status: 'Awaiting Quality Check',
|
|
417
|
+
labels,
|
|
418
|
+
});
|
|
419
|
+
mockIssueRepository.getAllIssues.mockResolvedValue({
|
|
420
|
+
issues: [issue],
|
|
421
|
+
cacheUsed: false,
|
|
422
|
+
});
|
|
423
|
+
mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
|
|
424
|
+
createReadyPr(),
|
|
425
|
+
]);
|
|
426
|
+
return issue;
|
|
427
|
+
};
|
|
428
|
+
|
|
429
|
+
const runCycle = () =>
|
|
430
|
+
useCase.run({
|
|
431
|
+
projectUrl: 'https://github.com/users/user/projects/1',
|
|
432
|
+
allowIssueCacheMinutes: 10,
|
|
433
|
+
});
|
|
434
|
+
|
|
435
|
+
it('should not approve PR when issue has no change-target label', async () => {
|
|
436
|
+
setupReadyIssue([]);
|
|
437
|
+
|
|
438
|
+
await runCycle();
|
|
439
|
+
|
|
440
|
+
expect(
|
|
441
|
+
mockIssueRepository.getPullRequestChangedFilePaths,
|
|
442
|
+
).not.toHaveBeenCalled();
|
|
443
|
+
expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
|
|
444
|
+
expect(mockIssueRepository.updateStatus).not.toHaveBeenCalled();
|
|
445
|
+
});
|
|
446
|
+
|
|
447
|
+
it('should approve PR when issue has change-target label and all files are confined', async () => {
|
|
448
|
+
setupReadyIssue(['change-target:src/domain']);
|
|
449
|
+
mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
|
|
450
|
+
'src/domain/entities/Foo.ts',
|
|
451
|
+
'src/domain/usecases/Bar.ts',
|
|
452
|
+
]);
|
|
453
|
+
|
|
454
|
+
await runCycle();
|
|
455
|
+
|
|
456
|
+
expect(
|
|
457
|
+
mockIssueRepository.getPullRequestChangedFilePaths,
|
|
458
|
+
).toHaveBeenCalledWith('https://github.com/user/repo/pull/1');
|
|
459
|
+
expect(mockIssueRepository.approvePullRequest).toHaveBeenCalledWith(
|
|
460
|
+
'https://github.com/user/repo/pull/1',
|
|
461
|
+
);
|
|
462
|
+
expect(mockIssueRepository.updateStatus).not.toHaveBeenCalled();
|
|
463
|
+
});
|
|
464
|
+
|
|
465
|
+
it('should not approve PR when any changed file is outside the labeled path', async () => {
|
|
466
|
+
setupReadyIssue(['change-target:src/domain']);
|
|
467
|
+
mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
|
|
468
|
+
'src/domain/entities/Foo.ts',
|
|
469
|
+
'src/adapter/repositories/Outside.ts',
|
|
470
|
+
]);
|
|
471
|
+
|
|
472
|
+
await runCycle();
|
|
473
|
+
|
|
474
|
+
expect(
|
|
475
|
+
mockIssueRepository.getPullRequestChangedFilePaths,
|
|
476
|
+
).toHaveBeenCalledWith('https://github.com/user/repo/pull/1');
|
|
477
|
+
expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
|
|
478
|
+
});
|
|
479
|
+
|
|
480
|
+
it('should approve when files are confined under any of multiple change-target labels', async () => {
|
|
481
|
+
setupReadyIssue(['change-target:src/domain', 'change-target:docs']);
|
|
482
|
+
mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
|
|
483
|
+
'src/domain/entities/Foo.ts',
|
|
484
|
+
'docs/intro.md',
|
|
485
|
+
]);
|
|
486
|
+
|
|
487
|
+
await runCycle();
|
|
488
|
+
|
|
489
|
+
expect(mockIssueRepository.approvePullRequest).toHaveBeenCalledWith(
|
|
490
|
+
'https://github.com/user/repo/pull/1',
|
|
491
|
+
);
|
|
492
|
+
});
|
|
493
|
+
|
|
494
|
+
it('should not approve when PR has more than 100 changed files and one file beyond entry 100 is outside the labeled path', async () => {
|
|
495
|
+
setupReadyIssue(['change-target:src/domain']);
|
|
496
|
+
const filePaths: string[] = [];
|
|
497
|
+
for (let i = 0; i < 150; i += 1) {
|
|
498
|
+
filePaths.push(`src/domain/file${i}.ts`);
|
|
499
|
+
}
|
|
500
|
+
filePaths.push('src/adapter/Outside.ts');
|
|
501
|
+
mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue(
|
|
502
|
+
filePaths,
|
|
503
|
+
);
|
|
504
|
+
|
|
505
|
+
await runCycle();
|
|
506
|
+
|
|
507
|
+
expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
|
|
508
|
+
});
|
|
509
|
+
|
|
510
|
+
it('should match boundary-safely (change-target:foo matches foo/bar.ts but not foobar/baz.ts)', async () => {
|
|
511
|
+
setupReadyIssue(['change-target:foo']);
|
|
512
|
+
mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
|
|
513
|
+
'foo/bar.ts',
|
|
514
|
+
'foobar/baz.ts',
|
|
515
|
+
]);
|
|
516
|
+
|
|
517
|
+
await runCycle();
|
|
518
|
+
|
|
519
|
+
expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
|
|
520
|
+
});
|
|
521
|
+
|
|
522
|
+
it('should approve when changed files match exact path or subpath of the labeled path', async () => {
|
|
523
|
+
setupReadyIssue(['change-target:foo']);
|
|
524
|
+
mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
|
|
525
|
+
'foo/bar.ts',
|
|
526
|
+
'foo/nested/baz.ts',
|
|
527
|
+
]);
|
|
528
|
+
|
|
529
|
+
await runCycle();
|
|
530
|
+
|
|
531
|
+
expect(mockIssueRepository.approvePullRequest).toHaveBeenCalledWith(
|
|
532
|
+
'https://github.com/user/repo/pull/1',
|
|
533
|
+
);
|
|
534
|
+
});
|
|
535
|
+
|
|
536
|
+
it('should not approve when PR has zero changed files', async () => {
|
|
537
|
+
setupReadyIssue(['change-target:src/domain']);
|
|
538
|
+
mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([]);
|
|
539
|
+
|
|
540
|
+
await runCycle();
|
|
541
|
+
|
|
542
|
+
expect(
|
|
543
|
+
mockIssueRepository.getPullRequestChangedFilePaths,
|
|
544
|
+
).toHaveBeenCalledWith('https://github.com/user/repo/pull/1');
|
|
545
|
+
expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
|
|
546
|
+
});
|
|
547
|
+
|
|
548
|
+
it('should not approve when there is no ready PR even if change-target label is present', async () => {
|
|
549
|
+
const issue = createMockIssue({
|
|
550
|
+
status: 'Awaiting Quality Check',
|
|
551
|
+
labels: ['change-target:src/domain'],
|
|
552
|
+
});
|
|
553
|
+
mockIssueRepository.getAllIssues.mockResolvedValue({
|
|
554
|
+
issues: [issue],
|
|
555
|
+
cacheUsed: false,
|
|
556
|
+
});
|
|
557
|
+
mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([]);
|
|
558
|
+
|
|
559
|
+
await runCycle();
|
|
560
|
+
|
|
561
|
+
expect(
|
|
562
|
+
mockIssueRepository.getPullRequestChangedFilePaths,
|
|
563
|
+
).not.toHaveBeenCalled();
|
|
564
|
+
expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
|
|
565
|
+
expect(mockIssueRepository.updateStatus).toHaveBeenCalledWith(
|
|
566
|
+
mockProject,
|
|
567
|
+
issue,
|
|
568
|
+
'awaiting-workspace-id',
|
|
569
|
+
);
|
|
570
|
+
});
|
|
571
|
+
|
|
572
|
+
it('should not approve when PR has unresolved rejections even with change-target label', async () => {
|
|
573
|
+
const issue = createMockIssue({
|
|
574
|
+
status: 'Awaiting Quality Check',
|
|
575
|
+
labels: ['change-target:src/domain'],
|
|
576
|
+
});
|
|
577
|
+
mockIssueRepository.getAllIssues.mockResolvedValue({
|
|
578
|
+
issues: [issue],
|
|
579
|
+
cacheUsed: false,
|
|
580
|
+
});
|
|
581
|
+
mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
|
|
582
|
+
{ ...createReadyPr(), isConflicted: true },
|
|
583
|
+
]);
|
|
584
|
+
|
|
585
|
+
await runCycle();
|
|
586
|
+
|
|
587
|
+
expect(
|
|
588
|
+
mockIssueRepository.getPullRequestChangedFilePaths,
|
|
589
|
+
).not.toHaveBeenCalled();
|
|
590
|
+
expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
|
|
591
|
+
expect(mockIssueRepository.updateStatus).toHaveBeenCalledWith(
|
|
592
|
+
mockProject,
|
|
593
|
+
issue,
|
|
594
|
+
'awaiting-workspace-id',
|
|
595
|
+
);
|
|
596
|
+
});
|
|
597
|
+
|
|
598
|
+
it('should skip change-target auto-approve for issue with llm-agent label', async () => {
|
|
599
|
+
const issue = createMockIssue({
|
|
600
|
+
status: 'Awaiting Quality Check',
|
|
601
|
+
labels: ['llm-agent', 'change-target:src/domain'],
|
|
602
|
+
});
|
|
603
|
+
mockIssueRepository.getAllIssues.mockResolvedValue({
|
|
604
|
+
issues: [issue],
|
|
605
|
+
cacheUsed: false,
|
|
606
|
+
});
|
|
607
|
+
mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
|
|
608
|
+
createReadyPr(),
|
|
609
|
+
]);
|
|
610
|
+
|
|
611
|
+
await runCycle();
|
|
612
|
+
|
|
613
|
+
expect(
|
|
614
|
+
mockIssueRepository.getPullRequestChangedFilePaths,
|
|
615
|
+
).not.toHaveBeenCalled();
|
|
616
|
+
expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
|
|
617
|
+
expect(mockIssueRepository.updateStatus).not.toHaveBeenCalled();
|
|
618
|
+
});
|
|
619
|
+
|
|
620
|
+
it('should normalize trailing slashes in change-target label paths', async () => {
|
|
621
|
+
setupReadyIssue(['change-target:src/domain/']);
|
|
622
|
+
mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
|
|
623
|
+
'src/domain/entities/Foo.ts',
|
|
624
|
+
]);
|
|
625
|
+
|
|
626
|
+
await runCycle();
|
|
627
|
+
|
|
628
|
+
expect(mockIssueRepository.approvePullRequest).toHaveBeenCalledWith(
|
|
629
|
+
'https://github.com/user/repo/pull/1',
|
|
630
|
+
);
|
|
631
|
+
});
|
|
632
|
+
});
|
|
408
633
|
});
|
|
@@ -2,6 +2,7 @@ import { IssueRepository } from './adapter-interfaces/IssueRepository';
|
|
|
2
2
|
import { ProjectRepository } from './adapter-interfaces/ProjectRepository';
|
|
3
3
|
import { IssueCommentRepository } from './adapter-interfaces/IssueCommentRepository';
|
|
4
4
|
import { IssueRejectionEvaluator } from './IssueRejectionEvaluator';
|
|
5
|
+
import { ChangeTargetPullRequestApprover } from './ChangeTargetPullRequestApprover';
|
|
5
6
|
import {
|
|
6
7
|
AWAITING_QUALITY_CHECK_STATUS_NAME,
|
|
7
8
|
AWAITING_WORKSPACE_STATUS_NAME,
|
|
@@ -9,6 +10,7 @@ import {
|
|
|
9
10
|
|
|
10
11
|
export class RevertNotReadyAwaitingQualityCheckUseCase {
|
|
11
12
|
private readonly issueRejectionEvaluator: IssueRejectionEvaluator;
|
|
13
|
+
private readonly changeTargetPullRequestApprover: ChangeTargetPullRequestApprover;
|
|
12
14
|
|
|
13
15
|
constructor(
|
|
14
16
|
private readonly projectRepository: Pick<
|
|
@@ -21,6 +23,8 @@ export class RevertNotReadyAwaitingQualityCheckUseCase {
|
|
|
21
23
|
| 'updateStatus'
|
|
22
24
|
| 'findRelatedOpenPRs'
|
|
23
25
|
| 'getOpenPullRequest'
|
|
26
|
+
| 'getPullRequestChangedFilePaths'
|
|
27
|
+
| 'approvePullRequest'
|
|
24
28
|
>,
|
|
25
29
|
private readonly issueCommentRepository: Pick<
|
|
26
30
|
IssueCommentRepository,
|
|
@@ -28,6 +32,9 @@ export class RevertNotReadyAwaitingQualityCheckUseCase {
|
|
|
28
32
|
>,
|
|
29
33
|
) {
|
|
30
34
|
this.issueRejectionEvaluator = new IssueRejectionEvaluator(issueRepository);
|
|
35
|
+
this.changeTargetPullRequestApprover = new ChangeTargetPullRequestApprover(
|
|
36
|
+
issueRepository,
|
|
37
|
+
);
|
|
31
38
|
}
|
|
32
39
|
|
|
33
40
|
run = async (params: {
|
|
@@ -71,7 +78,8 @@ export class RevertNotReadyAwaitingQualityCheckUseCase {
|
|
|
71
78
|
continue;
|
|
72
79
|
}
|
|
73
80
|
|
|
74
|
-
const { rejections } =
|
|
81
|
+
const { rejections, approvedPrUrl } =
|
|
82
|
+
await this.issueRejectionEvaluator.evaluate(issue);
|
|
75
83
|
if (rejections.length > 0) {
|
|
76
84
|
await this.issueRepository.updateStatus(
|
|
77
85
|
project,
|
|
@@ -82,7 +90,13 @@ export class RevertNotReadyAwaitingQualityCheckUseCase {
|
|
|
82
90
|
issue,
|
|
83
91
|
`Auto Status Check: REJECTED\n${rejections.map((r) => `- ${r.detail}`).join('\n')}`,
|
|
84
92
|
);
|
|
93
|
+
continue;
|
|
85
94
|
}
|
|
95
|
+
|
|
96
|
+
await this.changeTargetPullRequestApprover.approveIfConfined(
|
|
97
|
+
issue.labels,
|
|
98
|
+
approvedPrUrl,
|
|
99
|
+
);
|
|
86
100
|
}
|
|
87
101
|
};
|
|
88
102
|
}
|
|
@@ -90,6 +90,8 @@ export interface IssueRepository {
|
|
|
90
90
|
update: (issue: Issue, project: Project) => Promise<void>;
|
|
91
91
|
findRelatedOpenPRs: (issueUrl: string) => Promise<RelatedPullRequest[]>;
|
|
92
92
|
getOpenPullRequest: (prUrl: string) => Promise<RelatedPullRequest | null>;
|
|
93
|
+
getPullRequestChangedFilePaths: (prUrl: string) => Promise<string[]>;
|
|
94
|
+
approvePullRequest: (prUrl: string) => Promise<void>;
|
|
93
95
|
closePullRequest: (prUrl: string) => Promise<void>;
|
|
94
96
|
deletePullRequestBranch: (prUrl: string, branchName: string) => Promise<void>;
|
|
95
97
|
createCommentByUrl: (
|
|
@@ -65,6 +65,8 @@ export declare class ApiV3CheerioRestIssueRepository extends BaseGitHubRepositor
|
|
|
65
65
|
getStoryObjectMap: (project: Project, allowCacheMinutes: number) => Promise<StoryObjectMap>;
|
|
66
66
|
getOpenPullRequest: (prUrl: string) => Promise<RelatedPullRequest | null>;
|
|
67
67
|
closePullRequest: (prUrl: string) => Promise<void>;
|
|
68
|
+
getPullRequestChangedFilePaths: (prUrl: string) => Promise<string[]>;
|
|
69
|
+
approvePullRequest: (prUrl: string) => Promise<void>;
|
|
68
70
|
deletePullRequestBranch: (prUrl: string, branchName: string) => Promise<void>;
|
|
69
71
|
createCommentByUrl: (issueOrPrUrl: string, commentBody: string) => Promise<void>;
|
|
70
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiV3CheerioRestIssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,kBAAkB,EACnB,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,4BAA4B,EAC5B,WAAW,EACZ,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ApiV3CheerioRestIssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IssueRepository } from './adapter-interfaces/IssueRepository';
|
|
2
|
+
export declare class ChangeTargetPullRequestApprover {
|
|
3
|
+
private readonly issueRepository;
|
|
4
|
+
constructor(issueRepository: Pick<IssueRepository, 'getPullRequestChangedFilePaths' | 'approvePullRequest'>);
|
|
5
|
+
approveIfConfined: (issueLabels: string[], approvedPrUrl: string | null) => Promise<void>;
|
|
6
|
+
private extractChangeTargetPaths;
|
|
7
|
+
private isFilePathConfinedToAllowedPaths;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=ChangeTargetPullRequestApprover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangeTargetPullRequestApprover.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/ChangeTargetPullRequestApprover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,qBAAa,+BAA+B;IAExC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,IAAI,CACpC,eAAe,EACf,gCAAgC,GAAG,oBAAoB,CACxD;IAGH,iBAAiB,GACf,aAAa,MAAM,EAAE,EACrB,eAAe,MAAM,GAAG,IAAI,KAC3B,OAAO,CAAC,IAAI,CAAC,CAoBd;IAEF,OAAO,CAAC,wBAAwB,CAY9B;IAEF,OAAO,CAAC,gCAAgC,CAOpC;CACL"}
|
|
@@ -14,7 +14,8 @@ export declare class NotifyFinishedIssuePreparationUseCase {
|
|
|
14
14
|
private readonly issueCommentRepository;
|
|
15
15
|
private readonly webhookRepository;
|
|
16
16
|
private readonly issueRejectionEvaluator;
|
|
17
|
-
|
|
17
|
+
private readonly changeTargetPullRequestApprover;
|
|
18
|
+
constructor(projectRepository: Pick<ProjectRepository, 'getByUrl'>, issueRepository: Pick<IssueRepository, 'get' | 'update' | 'updateStatus' | 'findRelatedOpenPRs' | 'getStoryObjectMap' | 'getOpenPullRequest' | 'getPullRequestChangedFilePaths' | 'approvePullRequest' | 'setDependedIssueUrl'>, issueCommentRepository: Pick<IssueCommentRepository, 'getCommentsFromIssue' | 'createComment'>, webhookRepository: Pick<WebhookRepository, 'sendGetRequest'>);
|
|
18
19
|
run: (params: {
|
|
19
20
|
projectUrl: string;
|
|
20
21
|
issueUrl: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAa3E,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,QAAQ,EAAE,MAAM;CAI7B;AACD,qBAAa,uBAAwB,SAAQ,KAAK;gBAE9C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,cAAc,EAAE,MAAM,GAAG,IAAI;CAOhC;AAMD,qBAAa,qCAAqC;IAK9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAYhC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAIvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IArBpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAkC;gBAG/D,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,KAAK,GACL,QAAQ,GACR,cAAc,GACd,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,gCAAgC,GAChC,oBAAoB,GACpB,qBAAqB,CACxB,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC,EACgB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,gBAAgB,CACjB;IAQH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjD,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;KACvC,KAAG,OAAO,CAAC,IAAI,CAAC,CAsMf;IAEF,OAAO,CAAC,eAAe,CAIgD;IAEvE,OAAO,CAAC,iBAAiB,CA8BvB;IAEF,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,gCAAgC,CAiBtC;IAEF,OAAO,CAAC,uBAAuB,CAQ7B;IAEF,OAAO,CAAC,+BAA+B,CAkCrC;CACH"}
|
|
@@ -6,7 +6,8 @@ export declare class RevertNotReadyAwaitingQualityCheckUseCase {
|
|
|
6
6
|
private readonly issueRepository;
|
|
7
7
|
private readonly issueCommentRepository;
|
|
8
8
|
private readonly issueRejectionEvaluator;
|
|
9
|
-
|
|
9
|
+
private readonly changeTargetPullRequestApprover;
|
|
10
|
+
constructor(projectRepository: Pick<ProjectRepository, 'findProjectIdByUrl' | 'getProject'>, issueRepository: Pick<IssueRepository, 'getAllIssues' | 'updateStatus' | 'findRelatedOpenPRs' | 'getOpenPullRequest' | 'getPullRequestChangedFilePaths' | 'approvePullRequest'>, issueCommentRepository: Pick<IssueCommentRepository, 'createComment'>);
|
|
10
11
|
run: (params: {
|
|
11
12
|
projectUrl: string;
|
|
12
13
|
allowIssueCacheMinutes: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RevertNotReadyAwaitingQualityCheckUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"RevertNotReadyAwaitingQualityCheckUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/RevertNotReadyAwaitingQualityCheckUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAQrF,qBAAa,yCAAyC;IAKlD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAIlC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAShC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAjBzC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAkC;gBAG/D,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,oBAAoB,GAAG,YAAY,CACpC,EACgB,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,gCAAgC,GAChC,oBAAoB,CACvB,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,eAAe,CAChB;IAQH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,sBAAsB,EAAE,MAAM,CAAC;KAChC,KAAG,OAAO,CAAC,IAAI,CAAC,CA0Df;CACH"}
|
|
@@ -53,6 +53,8 @@ export interface IssueRepository {
|
|
|
53
53
|
update: (issue: Issue, project: Project) => Promise<void>;
|
|
54
54
|
findRelatedOpenPRs: (issueUrl: string) => Promise<RelatedPullRequest[]>;
|
|
55
55
|
getOpenPullRequest: (prUrl: string) => Promise<RelatedPullRequest | null>;
|
|
56
|
+
getPullRequestChangedFilePaths: (prUrl: string) => Promise<string[]>;
|
|
57
|
+
approvePullRequest: (prUrl: string) => Promise<void>;
|
|
56
58
|
closePullRequest: (prUrl: string) => Promise<void>;
|
|
57
59
|
deletePullRequestBranch: (prUrl: string, branchName: string) => Promise<void>;
|
|
58
60
|
createCommentByUrl: (issueOrPrUrl: string, commentBody: string) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/IssueRepository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/IssueRepository.ts"],"names":[],"mappings":"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"}
|