github-issue-tower-defence-management 1.71.1 → 1.72.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.
@@ -75,25 +75,33 @@ jobs:
75
75
  RESOURCE_NODE_ID="${{ github.event.pull_request.node_id || github.event.issue.node_id }}"
76
76
  PROJECT_V2_ID="${{ env.project_v2_id }}"
77
77
 
78
+ echo "RESOURCE_NODE_ID=$RESOURCE_NODE_ID"
79
+ echo "PROJECT_V2_ID=$PROJECT_V2_ID"
80
+
78
81
  ADD_RESPONSE=$(gh api graphql \
79
82
  -f query='mutation($projectId:ID!,$contentId:ID!){addProjectV2ItemById(input:{projectId:$projectId,contentId:$contentId}){item{id}}}' \
80
83
  -f projectId="$PROJECT_V2_ID" \
81
84
  -f contentId="$RESOURCE_NODE_ID" 2>&1 || true)
82
85
 
86
+ echo "addProjectV2ItemById response: $ADD_RESPONSE"
87
+
83
88
  ITEM_ID=$(echo "$ADD_RESPONSE" | jq -r '.data.addProjectV2ItemById.item.id // empty' 2>/dev/null || echo "")
84
89
 
85
90
  if [ -z "$ITEM_ID" ]; then
86
- ITEM_ID=$(gh api graphql \
91
+ FALLBACK_RESPONSE=$(gh api graphql \
87
92
  -f query='query($nodeId:ID!){node(id:$nodeId){...on PullRequest{projectItems(first:10){nodes{id project{id}}}}...on Issue{projectItems(first:10){nodes{id project{id}}}}}}' \
88
- -f nodeId="$RESOURCE_NODE_ID" \
89
- --jq ".data.node.projectItems.nodes[] | select(.project.id == \"$PROJECT_V2_ID\") | .id")
93
+ -f nodeId="$RESOURCE_NODE_ID" 2>&1 || true)
94
+ echo "projectItems fallback response: $FALLBACK_RESPONSE"
95
+ ITEM_ID=$(echo "$FALLBACK_RESPONSE" | jq -r ".data.node.projectItems.nodes[]? | select(.project.id == \"$PROJECT_V2_ID\") | .id" 2>/dev/null || echo "")
90
96
  fi
91
97
 
92
98
  if [ -z "$ITEM_ID" ]; then
93
- echo "Failed to resolve project item ID"
99
+ echo "Failed to resolve project item ID for $RESOURCE_NODE_ID in project $PROJECT_V2_ID"
94
100
  exit 1
95
101
  fi
96
102
 
103
+ echo "Resolved ITEM_ID=$ITEM_ID"
104
+
97
105
  gh api graphql \
98
106
  -f query='mutation($projectId:ID!,$itemId:ID!,$fieldId:ID!,$optionId:String!){updateProjectV2ItemFieldValue(input:{projectId:$projectId,itemId:$itemId,fieldId:$fieldId,value:{singleSelectOptionId:$optionId}}){projectV2Item{id}}}' \
99
107
  -f projectId="$PROJECT_V2_ID" \
@@ -101,7 +109,7 @@ jobs:
101
109
  -f fieldId="PVTSSF_lAHOAGJHa84AFWnrzgDFcxE" \
102
110
  -f optionId="f75ad846"
103
111
  env:
104
- GH_TOKEN: ${{ secrets.GH_TOKEN }}
112
+ GH_TOKEN: ${{ steps.app-token.outputs.token }}
105
113
  if: >-
106
114
  ((github.event_name == 'issues' && github.event.issue.state == 'open') ||
107
115
  (github.event_name == 'pull_request' && github.event.pull_request.state == 'open')) &&
@@ -114,7 +122,7 @@ jobs:
114
122
  NUMBER=$(echo ${{ github.event_name }} | grep -q "pull_request" && echo ${{ github.event.pull_request.number }} || echo ${{ github.event.issue.number }})
115
123
 
116
124
  QUERY_DATA='{ "query": "query { repository(owner: \"'$OWNER'\", name: \"'$REPO'\") { '${ENTITY_TYPE}'(number: '$NUMBER') { projectItems(first: 10) { nodes { id } } } } }" }'
117
- RESPONSE=$(curl -X POST -H "Authorization: bearer ${{ secrets.GH_TOKEN }}" -H "Content-Type: application/json" --data "$QUERY_DATA" https://api.github.com/graphql)
125
+ RESPONSE=$(curl -X POST -H "Authorization: bearer ${{ steps.app-token.outputs.token }}" -H "Content-Type: application/json" --data "$QUERY_DATA" https://api.github.com/graphql)
118
126
 
119
127
  if echo $RESPONSE | grep -q "errors"; then
120
128
  echo "Error in GraphQL query"
@@ -136,7 +144,7 @@ jobs:
136
144
  CLEAR_FIELD_DATA="{\"query\":\"mutation { clearProjectV2ItemFieldValue(input: {projectId: \\\"${{ env.project_v2_id }}\\\", fieldId: \\\"${{ env.field_id }}\\\", itemId: \\\"$ITEM_ID\\\"}) { clientMutationId }}\"}"
137
145
  CLEAR_RESPONSE=$(curl --request POST \
138
146
  --url https://api.github.com/graphql \
139
- --header "Authorization: Bearer ${{ secrets.GH_TOKEN }}" \
147
+ --header "Authorization: Bearer ${{ steps.app-token.outputs.token }}" \
140
148
  --header "Content-Type: application/json" \
141
149
  --data "$CLEAR_FIELD_DATA")
142
150
 
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [1.72.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.71.1...v1.72.0) (2026-06-06)
2
+
3
+
4
+ ### Features
5
+
6
+ * **core:** auto-approve PR when issue has change-target labels and changed files are confined ([a8fb98f](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/a8fb98f0a05875776fdbe5a393417b6793943901)), closes [#736](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/736)
7
+
1
8
  ## [1.71.1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.71.0...v1.71.1) (2026-06-06)
2
9
 
3
10
 
package/README.md CHANGED
@@ -367,6 +367,7 @@ The following use cases execute on every `schedule` trigger (cadence is determin
367
367
  - `RevertNotReadyAwaitingQualityCheckUseCase` — reverts awaiting-quality-check issues whose linked PR is conflicting, draft, missing, multiplied, has failing or never-started CI checks, or has unresolved review comments, back to awaiting-workspace
368
368
  - `RevertOrphanedPreparationUseCase` — reverts orphaned preparation issues back to awaiting-workspace
369
369
  - `StartPreparationUseCase` — starts preparation for issues ready to be worked on
370
+ - `NotifyFinishedIssuePreparationUseCase` — checks preparation-status issues and advances them. When the issue carries one or more `change-target:<path>` labels and all auto status checks pass, the related pull request's full file list is fetched (paginated, no 100-file truncation) and the PR is auto-approved before transitioning to Awaiting Quality Check if every changed file is under at least one of the labeled paths. Matching is boundary-safe (`change-target:foo` matches `foo/bar.ts` but not `foobar/baz.ts`); multiple `change-target:` labels are OR-combined. When no `change-target:` label is present, behavior is unchanged.
370
371
 
371
372
  ### Slow path (runs at most once per 600 seconds)
372
373
 
@@ -17,6 +17,9 @@ function isDirectPullRequestResponse(value) {
17
17
  return false;
18
18
  return true;
19
19
  }
20
+ function isPullRequestFilesResponse(value) {
21
+ return (() => { const _io0 = input => "string" === typeof input.filename; return input => Array.isArray(input) && input.every(elem => "object" === typeof elem && null !== elem && _io0(elem)); })()(value);
22
+ }
20
23
  const fnmatch = (pattern, str) => {
21
24
  let regexStr = '^';
22
25
  let i = 0;
@@ -649,6 +652,54 @@ class ApiV3CheerioRestIssueRepository extends BaseGitHubRepository_1.BaseGitHubR
649
652
  throw new Error(`Failed to close PR ${prUrl}: HTTP ${response.status}`);
650
653
  }
651
654
  };
655
+ this.getPullRequestChangedFilePaths = async (prUrl) => {
656
+ const { owner, repo, issueNumber: prNumber } = this.parseIssueUrl(prUrl);
657
+ const perPage = 100;
658
+ const collectedPaths = [];
659
+ let page = 1;
660
+ let hasMore = true;
661
+ while (hasMore) {
662
+ const response = await fetch(`https://api.github.com/repos/${owner}/${repo}/pulls/${prNumber}/files?per_page=${perPage}&page=${page}`, {
663
+ method: 'GET',
664
+ headers: {
665
+ Authorization: `Bearer ${this.ghToken}`,
666
+ Accept: 'application/vnd.github+json',
667
+ },
668
+ });
669
+ if (!response.ok) {
670
+ throw new Error(`Failed to fetch changed files for PR ${prUrl}: HTTP ${response.status}`);
671
+ }
672
+ const body = await response.json();
673
+ if (!isPullRequestFilesResponse(body)) {
674
+ throw new Error(`Unexpected response shape when fetching changed files for PR ${prUrl}`);
675
+ }
676
+ for (const file of body) {
677
+ collectedPaths.push(file.filename);
678
+ }
679
+ if (body.length < perPage) {
680
+ hasMore = false;
681
+ }
682
+ else {
683
+ page += 1;
684
+ }
685
+ }
686
+ return collectedPaths;
687
+ };
688
+ this.approvePullRequest = async (prUrl) => {
689
+ const { owner, repo, issueNumber: prNumber } = this.parseIssueUrl(prUrl);
690
+ const response = await fetch(`https://api.github.com/repos/${owner}/${repo}/pulls/${prNumber}/reviews`, {
691
+ method: 'POST',
692
+ headers: {
693
+ Authorization: `Bearer ${this.ghToken}`,
694
+ 'Content-Type': 'application/json',
695
+ Accept: 'application/vnd.github+json',
696
+ },
697
+ body: JSON.stringify({ event: 'APPROVE' }),
698
+ });
699
+ if (!response.ok) {
700
+ throw new Error(`Failed to approve PR ${prUrl}: HTTP ${response.status}`);
701
+ }
702
+ };
652
703
  this.deletePullRequestBranch = async (prUrl, branchName) => {
653
704
  const { owner, repo } = this.parseIssueUrl(prUrl);
654
705
  const response = await fetch(`https://api.github.com/repos/${owner}/${repo}/git/refs/heads/${encodeURIComponent(branchName)}`, {
@@ -1 +1 @@
1
- {"version":3,"file":"ApiV3CheerioRestIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiV3CheerioRestIssueRepository.js","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts"],"names":[],"mappings":"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"}
@@ -78,7 +78,7 @@ class NotifyFinishedIssuePreparationUseCase {
78
78
  }
79
79
  const comments = await this.issueCommentRepository.getCommentsFromIssue(issue);
80
80
  const isTrustedAuthor = (author) => this.isAuthorTrusted(author, params.allowedIssueAuthors ?? null);
81
- const { rejections } = await this.collectRejections(issue, comments, isTrustedAuthor);
81
+ const { rejections, approvedPrUrl } = await this.collectRejections(issue, comments, isTrustedAuthor);
82
82
  const rejectionStatusMessage = rejections.length > 0
83
83
  ? `Auto Status Check: REJECTED\n${rejections.map((r) => `- ${r.detail}`).join('\n')}`
84
84
  : 'Auto Status Check: APPROVED';
@@ -99,6 +99,7 @@ class NotifyFinishedIssuePreparationUseCase {
99
99
  return;
100
100
  }
101
101
  if (rejections.length <= 0) {
102
+ await this.maybeAutoApprovePrByChangeTarget(issue, approvedPrUrl);
102
103
  issue.status = WorkflowStatus_1.AWAITING_QUALITY_CHECK_STATUS_NAME;
103
104
  await this.issueRepository.update(issue, project);
104
105
  await this.issueRepository.updateStatus(project, issue, awaitingQualityCheckStatusOption.id);
@@ -113,6 +114,41 @@ class NotifyFinishedIssuePreparationUseCase {
113
114
  await this.issueCommentRepository.createComment(issue, rejectionStatusMessage);
114
115
  };
115
116
  this.isAuthorTrusted = (author, allowedIssueAuthors) => allowedIssueAuthors === null || allowedIssueAuthors.includes(author);
117
+ this.extractChangeTargetPaths = (labels) => {
118
+ const prefix = 'change-target:';
119
+ const paths = [];
120
+ for (const label of labels) {
121
+ if (!label.startsWith(prefix))
122
+ continue;
123
+ const raw = label.slice(prefix.length).trim();
124
+ if (raw.length === 0)
125
+ continue;
126
+ const normalized = raw.replace(/\/+$/, '');
127
+ if (normalized.length === 0)
128
+ continue;
129
+ paths.push(normalized);
130
+ }
131
+ return paths;
132
+ };
133
+ this.isFilePathConfinedToAllowedPaths = (filePath, allowedPaths) => allowedPaths.some((allowedPath) => filePath === allowedPath || filePath.startsWith(`${allowedPath}/`));
134
+ this.maybeAutoApprovePrByChangeTarget = async (issue, approvedPrUrl) => {
135
+ if (approvedPrUrl === null) {
136
+ return;
137
+ }
138
+ const changeTargetPaths = this.extractChangeTargetPaths(issue.labels);
139
+ if (changeTargetPaths.length === 0) {
140
+ return;
141
+ }
142
+ const changedFilePaths = await this.issueRepository.getPullRequestChangedFilePaths(approvedPrUrl);
143
+ if (changedFilePaths.length === 0) {
144
+ return;
145
+ }
146
+ const allConfined = changedFilePaths.every((filePath) => this.isFilePathConfinedToAllowedPaths(filePath, changeTargetPaths));
147
+ if (!allConfined) {
148
+ return;
149
+ }
150
+ await this.issueRepository.approvePullRequest(approvedPrUrl);
151
+ };
116
152
  this.collectRejections = async (issue, comments, isTrustedAuthor) => {
117
153
  const rejections = [];
118
154
  const lastComment = comments[comments.length - 1];
@@ -1 +1 @@
1
- {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":";;;AAIA,+DAKoC;AACpC,uEAGmC;AAEnC,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,QAAgB;QAC1B,KAAK,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AACD,MAAa,uBAAwB,SAAQ,KAAK;IAChD,YACE,QAAgB,EAChB,aAA4B,EAC5B,cAA6B;QAE7B,KAAK,CACH,4BAA4B,QAAQ,cAAc,cAAc,aAAa,aAAa,EAAE,CAC7F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAXD,0DAWC;AAMD,MAAa,qCAAqC;IAGhD,YACmB,iBAAsD,EACtD,eAWhB,EACgB,sBAGhB,EACgB,iBAGhB;QApBgB,sBAAiB,GAAjB,iBAAiB,CAAqC;QACtD,oBAAe,GAAf,eAAe,CAW/B;QACgB,2BAAsB,GAAtB,sBAAsB,CAGtC;QACgB,sBAAiB,GAAjB,iBAAiB,CAGjC;QAKH,QAAG,GAAG,KAAK,EAAE,MAMZ,EAAiB,EAAE;YAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAEzE,MAAM,6BAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAChE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,+CAA8B,CACjD,CAAC;YACF,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CACX,qCAAqC,+CAA8B,yBAAyB,CAC7F,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CACnE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mDAAkC,CACrD,CAAC;YACF,IAAI,CAAC,gCAAgC,EAAE,CAAC;gBACtC,OAAO,CAAC,KAAK,CACX,yCAAyC,mDAAkC,yBAAyB,CACrG,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,6BAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAChE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,+CAA8B,CACjD,CAAC;YACF,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CACX,qCAAqC,+CAA8B,yBAAyB,CAC7F,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEvE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,wCAAuB,EAAE,CAAC;gBACpD,MAAM,IAAI,uBAAuB,CAC/B,MAAM,CAAC,QAAQ,EACf,KAAK,CAAC,MAAM,EACZ,wCAAuB,CACxB,CAAC;YACJ,CAAC;YAED,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACjE,OAAO,EACP,CAAC,CACF,CAAC;oBACF,KAAK,MAAM,WAAW,IAAI,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;wBAClD,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAC3B,CAAC;wBACF,IAAI,iBAAiB,EAAE,CAAC;4BACtB,KAAK,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;4BAC9D,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CACV,2DAA2D,EAC3D,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,MAAM,GAAG,+CAA8B,CAAC;gBAC9C,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,OAAO,EACP,KAAK,EACL,6BAA6B,CAAC,EAAE,CACjC,CAAC;gBACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAC7C,KAAK,EACL,mCAAmC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACnE,KAAK,CAAC,MAAM,GAAG,+CAA8B,CAAC;gBAC9C,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,OAAO,EACP,KAAK,EACL,6BAA6B,CAAC,EAAE,CACjC,CAAC;gBACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAC7C,KAAK,EACL,0DAA0D,KAAK,CAAC,cAAc,EAAE,WAAW,EAAE,IAAI,MAAM,oBAAoB,KAAK,CAAC,cAAc,IAAI,MAAM,EAAE,CAC5J,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAEhE,MAAM,eAAe,GAAG,CAAC,MAAc,EAAW,EAAE,CAClD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC;YAEnE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAChE,KAAK,EACL,QAAQ,EACR,eAAe,CAChB,CAAC;YAEF,MAAM,sBAAsB,GAC1B,UAAU,CAAC,MAAM,GAAG,CAAC;gBACnB,CAAC,CAAC,gCAAgC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrF,CAAC,CAAC,6BAA6B,CAAC;YAEpC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,KAAK,CACvC,CAAC,MAAM,CAAC,sBAAsB,GAAG,CAAC,CACnC,CAAC;YACF,IACE,UAAU,CAAC,MAAM,GAAG,CAAC;gBACrB,kBAAkB,CAAC,MAAM,CACvB,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC;oBACzD,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAClC,CAAC,MAAM,IAAI,MAAM,CAAC,sBAAsB;gBACzC,CAAC,kBAAkB,CAAC,IAAI,CACtB,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,OAAO;qBACZ,WAAW,EAAE;qBACb,QAAQ,CAAC,wCAAwC,CAAC;oBACrD,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAClC,EACD,CAAC;gBACD,KAAK,CAAC,MAAM,GAAG,+CAA8B,CAAC;gBAC9C,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,OAAO,EACP,KAAK,EACL,6BAA6B,CAAC,EAAE,CACjC,CAAC;gBACF,MAAM,IAAI,CAAC,gCAAgC,CACzC,KAAK,EACL,MAAM,CAAC,QAAQ,EACf,OAAO,CACR,CAAC;gBACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAC7C,KAAK,EACL,GAAG,sBAAsB,kDAAkD,MAAM,CAAC,sBAAsB,QAAQ,CACjH,CAAC;gBACF,MAAM,IAAI,CAAC,+BAA+B,CACxC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,iCAAiC,EACxC,OAAO,CACR,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,gCAAgC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAClE,KAAK,CAAC,MAAM,GAAG,mDAAkC,CAAC;gBAClD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,OAAO,EACP,KAAK,EACL,gCAAgC,CAAC,EAAE,CACpC,CAAC;gBACF,MAAM,IAAI,CAAC,gCAAgC,CACzC,KAAK,EACL,MAAM,CAAC,QAAQ,EACf,OAAO,CACR,CAAC;gBACF,MAAM,IAAI,CAAC,+BAA+B,CACxC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,iCAAiC,EACxC,OAAO,CACR,CAAC;gBACF,OAAO;YACT,CAAC;YAED,KAAK,CAAC,MAAM,GAAG,+CAA8B,CAAC;YAC9C,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,OAAO,EACP,KAAK,EACL,6BAA6B,CAAC,EAAE,CACjC,CAAC;YAEF,MAAM,IAAI,CAAC,gCAAgC,CACzC,KAAK,EACL,MAAM,CAAC,QAAQ,EACf,OAAO,CACR,CAAC;YAEF,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAC7C,KAAK,EACL,sBAAsB,CACvB,CAAC;QACJ,CAAC,CAAC;QAEM,oBAAe,GAAG,CACxB,MAAc,EACd,mBAAoC,EAC3B,EAAE,CACX,mBAAmB,KAAK,IAAI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/D,6BAAwB,GAAG,CAAC,MAAgB,EAAY,EAAE;YAChE,MAAM,MAAM,GAAG,gBAAgB,CAAC;YAChC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;oBAAE,SAAS;gBACxC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAC/B,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC3C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBACtC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEM,qCAAgC,GAAG,CACzC,QAAgB,EAChB,YAAsB,EACb,EAAE,CACX,YAAY,CAAC,IAAI,CACf,CAAC,WAAW,EAAE,EAAE,CACd,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,CACrE,CAAC;QAEI,qCAAgC,GAAG,KAAK,EAC9C,KAA2B,EAC3B,aAA4B,EACb,EAAE;YACjB,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtE,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,MAAM,gBAAgB,GACpB,MAAM,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,aAAa,CAAC,CAAC;YAC3E,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;YACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtD,IAAI,CAAC,gCAAgC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CACnE,CAAC;YACF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC,CAAC;QAEM,sBAAiB,GAAG,KAAK,EAC/B,KAAuD,EACvD,QAA+C,EAC/C,eAA4C,EAI3C,EAAE;YACH,MAAM,UAAU,GAAmD,EAAE,CAAC;YAEtE,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,IACE,CAAC,WAAW;gBACZ,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC;gBACpC,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAChD,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,0BAA0B;oBAChC,MAAM,EAAE,0BAA0B;iBACnC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3D,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,sBAAsB;oBAC5B,MAAM,EAAE,sBAAsB;iBAC/B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,GAC/C,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrD,OAAO,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;QACzE,CAAC,CAAC;QAEM,0BAAqB,GAAG,CAAC,IAAY,EAAW,EAAE;YACxD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC3D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,UAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CACV,sDAAsD,EACtD,KAAK,CACN,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC1D,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC1D,OAAO,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,CAAC;QAC/D,CAAC,CAAC;QAEM,qCAAgC,GAAG,KAAK,EAC9C,KAAuD,EACvD,QAAgB,EAChB,OAA8C,EAC/B,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC;gBAC9C,OAAO,CAAC,IAAI,CACV,kHAAkH,QAAQ,EAAE,CAC7H,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI;gBACxB,CAAC,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC/C,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7D,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC;QAEM,4BAAuB,GAAG,KAAK,EACrC,KAAa,EACe,EAAE;YAC9B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,CAAC,EAAE,CAAC,CAAC;QACd,CAAC,CAAC;QAEM,oCAA+B,GAAG,KAAK,EAC7C,QAAgB,EAChB,kBAAiC,EACjC,OAA4D,EAC7C,EAAE;YACjB,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACjE,OAAO,EACP,CAAC,CACF,CAAC;gBAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CACjE,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,CAC3B,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;oBACpD,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAC7D,CAAC;gBAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,OAAO;gBACT,CAAC;gBAED,MAAM,OAAO,GAAG,8BAA8B,QAAQ,EAAE,CAAC;gBACzD,MAAM,UAAU,GAAG,kBAAkB;qBAClC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;qBAC9C,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAErD,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC;QA5XA,IAAI,CAAC,uBAAuB,GAAG,IAAI,iDAAuB,CAAC,eAAe,CAAC,CAAC;IAC9E,CAAC;CA4XF;AAvZD,sFAuZC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "1.71.1",
3
+ "version": "1.72.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -267,6 +267,145 @@ describe('ApiV3CheerioRestIssueRepository', () => {
267
267
  });
268
268
  });
269
269
 
270
+ describe('getPullRequestChangedFilePaths', () => {
271
+ afterEach(() => {
272
+ jest.restoreAllMocks();
273
+ });
274
+
275
+ it('should fetch a single page of changed files and return their paths', async () => {
276
+ const fetchSpy = jest
277
+ .spyOn(global, 'fetch')
278
+ .mockResolvedValueOnce(
279
+ new Response(
280
+ JSON.stringify([
281
+ { filename: 'src/domain/Foo.ts' },
282
+ { filename: 'src/domain/Bar.ts' },
283
+ ]),
284
+ { status: 200, headers: { 'Content-Type': 'application/json' } },
285
+ ),
286
+ );
287
+
288
+ const { repository } = createApiV3CheerioRestIssueRepository();
289
+ const result = await repository.getPullRequestChangedFilePaths(
290
+ 'https://github.com/HiromiShikata/test-repository/pull/42',
291
+ );
292
+
293
+ expect(result).toEqual(['src/domain/Foo.ts', 'src/domain/Bar.ts']);
294
+ expect(fetchSpy).toHaveBeenCalledTimes(1);
295
+ expect(fetchSpy).toHaveBeenCalledWith(
296
+ 'https://api.github.com/repos/HiromiShikata/test-repository/pulls/42/files?per_page=100&page=1',
297
+ expect.objectContaining({ method: 'GET' }),
298
+ );
299
+ });
300
+
301
+ it('should paginate when a page returns exactly 100 entries and stop when fewer are returned', async () => {
302
+ const firstPage: { filename: string }[] = [];
303
+ for (let i = 0; i < 100; i += 1) {
304
+ firstPage.push({ filename: `src/domain/file${i}.ts` });
305
+ }
306
+ const secondPage = [
307
+ { filename: 'src/domain/extra-a.ts' },
308
+ { filename: 'src/domain/extra-b.ts' },
309
+ ];
310
+ const fetchSpy = jest
311
+ .spyOn(global, 'fetch')
312
+ .mockResolvedValueOnce(
313
+ new Response(JSON.stringify(firstPage), {
314
+ status: 200,
315
+ headers: { 'Content-Type': 'application/json' },
316
+ }),
317
+ )
318
+ .mockResolvedValueOnce(
319
+ new Response(JSON.stringify(secondPage), {
320
+ status: 200,
321
+ headers: { 'Content-Type': 'application/json' },
322
+ }),
323
+ );
324
+
325
+ const { repository } = createApiV3CheerioRestIssueRepository();
326
+ const result = await repository.getPullRequestChangedFilePaths(
327
+ 'https://github.com/HiromiShikata/test-repository/pull/42',
328
+ );
329
+
330
+ expect(result).toHaveLength(102);
331
+ expect(result[0]).toBe('src/domain/file0.ts');
332
+ expect(result[99]).toBe('src/domain/file99.ts');
333
+ expect(result[100]).toBe('src/domain/extra-a.ts');
334
+ expect(result[101]).toBe('src/domain/extra-b.ts');
335
+ expect(fetchSpy).toHaveBeenCalledTimes(2);
336
+ expect(fetchSpy).toHaveBeenNthCalledWith(
337
+ 1,
338
+ 'https://api.github.com/repos/HiromiShikata/test-repository/pulls/42/files?per_page=100&page=1',
339
+ expect.objectContaining({ method: 'GET' }),
340
+ );
341
+ expect(fetchSpy).toHaveBeenNthCalledWith(
342
+ 2,
343
+ 'https://api.github.com/repos/HiromiShikata/test-repository/pulls/42/files?per_page=100&page=2',
344
+ expect.objectContaining({ method: 'GET' }),
345
+ );
346
+ });
347
+
348
+ it('should throw when the API responds with a non-2xx status', async () => {
349
+ jest.spyOn(global, 'fetch').mockResolvedValueOnce(
350
+ new Response('Not Found', {
351
+ status: 404,
352
+ statusText: 'Not Found',
353
+ }),
354
+ );
355
+
356
+ const { repository } = createApiV3CheerioRestIssueRepository();
357
+ await expect(
358
+ repository.getPullRequestChangedFilePaths(
359
+ 'https://github.com/HiromiShikata/test-repository/pull/42',
360
+ ),
361
+ ).rejects.toThrow('404');
362
+ });
363
+ });
364
+
365
+ describe('approvePullRequest', () => {
366
+ afterEach(() => {
367
+ jest.restoreAllMocks();
368
+ });
369
+
370
+ it('should POST an APPROVE review to the GitHub API for the PR', async () => {
371
+ const fetchSpy = jest.spyOn(global, 'fetch').mockResolvedValueOnce(
372
+ new Response(JSON.stringify({ id: 1, state: 'APPROVED' }), {
373
+ status: 200,
374
+ headers: { 'Content-Type': 'application/json' },
375
+ }),
376
+ );
377
+
378
+ const { repository } = createApiV3CheerioRestIssueRepository();
379
+ await repository.approvePullRequest(
380
+ 'https://github.com/HiromiShikata/test-repository/pull/42',
381
+ );
382
+
383
+ expect(fetchSpy).toHaveBeenCalledWith(
384
+ 'https://api.github.com/repos/HiromiShikata/test-repository/pulls/42/reviews',
385
+ expect.objectContaining({
386
+ method: 'POST',
387
+ body: JSON.stringify({ event: 'APPROVE' }),
388
+ }),
389
+ );
390
+ });
391
+
392
+ it('should throw when the API responds with a non-2xx status', async () => {
393
+ jest.spyOn(global, 'fetch').mockResolvedValueOnce(
394
+ new Response('Unprocessable Entity', {
395
+ status: 422,
396
+ statusText: 'Unprocessable Entity',
397
+ }),
398
+ );
399
+
400
+ const { repository } = createApiV3CheerioRestIssueRepository();
401
+ await expect(
402
+ repository.approvePullRequest(
403
+ 'https://github.com/HiromiShikata/test-repository/pull/42',
404
+ ),
405
+ ).rejects.toThrow('422');
406
+ });
407
+ });
408
+
270
409
  const createApiV3CheerioRestIssueRepository = () => {
271
410
  const apiV3IssueRepository = mock<ApiV3IssueRepository>();
272
411
  const restIssueRepository = mock<RestIssueRepository>();
@@ -213,6 +213,16 @@ function isDirectPullRequestResponse(
213
213
  return true;
214
214
  }
215
215
 
216
+ type PullRequestFilesResponseItem = {
217
+ filename: string;
218
+ };
219
+
220
+ function isPullRequestFilesResponse(
221
+ value: unknown,
222
+ ): value is PullRequestFilesResponseItem[] {
223
+ return typia.is<PullRequestFilesResponseItem[]>(value);
224
+ }
225
+
216
226
  const fnmatch = (pattern: string, str: string): boolean => {
217
227
  let regexStr = '^';
218
228
  let i = 0;
@@ -1095,6 +1105,65 @@ export class ApiV3CheerioRestIssueRepository
1095
1105
  }
1096
1106
  };
1097
1107
 
1108
+ getPullRequestChangedFilePaths = async (prUrl: string): Promise<string[]> => {
1109
+ const { owner, repo, issueNumber: prNumber } = this.parseIssueUrl(prUrl);
1110
+ const perPage = 100;
1111
+ const collectedPaths: string[] = [];
1112
+ let page = 1;
1113
+ let hasMore = true;
1114
+ while (hasMore) {
1115
+ const response = await fetch(
1116
+ `https://api.github.com/repos/${owner}/${repo}/pulls/${prNumber}/files?per_page=${perPage}&page=${page}`,
1117
+ {
1118
+ method: 'GET',
1119
+ headers: {
1120
+ Authorization: `Bearer ${this.ghToken}`,
1121
+ Accept: 'application/vnd.github+json',
1122
+ },
1123
+ },
1124
+ );
1125
+ if (!response.ok) {
1126
+ throw new Error(
1127
+ `Failed to fetch changed files for PR ${prUrl}: HTTP ${response.status}`,
1128
+ );
1129
+ }
1130
+ const body: unknown = await response.json();
1131
+ if (!isPullRequestFilesResponse(body)) {
1132
+ throw new Error(
1133
+ `Unexpected response shape when fetching changed files for PR ${prUrl}`,
1134
+ );
1135
+ }
1136
+ for (const file of body) {
1137
+ collectedPaths.push(file.filename);
1138
+ }
1139
+ if (body.length < perPage) {
1140
+ hasMore = false;
1141
+ } else {
1142
+ page += 1;
1143
+ }
1144
+ }
1145
+ return collectedPaths;
1146
+ };
1147
+
1148
+ approvePullRequest = async (prUrl: string): Promise<void> => {
1149
+ const { owner, repo, issueNumber: prNumber } = this.parseIssueUrl(prUrl);
1150
+ const response = await fetch(
1151
+ `https://api.github.com/repos/${owner}/${repo}/pulls/${prNumber}/reviews`,
1152
+ {
1153
+ method: 'POST',
1154
+ headers: {
1155
+ Authorization: `Bearer ${this.ghToken}`,
1156
+ 'Content-Type': 'application/json',
1157
+ Accept: 'application/vnd.github+json',
1158
+ },
1159
+ body: JSON.stringify({ event: 'APPROVE' }),
1160
+ },
1161
+ );
1162
+ if (!response.ok) {
1163
+ throw new Error(`Failed to approve PR ${prUrl}: HTTP ${response.status}`);
1164
+ }
1165
+ };
1166
+
1098
1167
  deletePullRequestBranch = async (
1099
1168
  prUrl: string,
1100
1169
  branchName: string,
@@ -94,6 +94,8 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
94
94
  findRelatedOpenPRs: jest.Mock;
95
95
  getStoryObjectMap: jest.Mock;
96
96
  getOpenPullRequest: jest.Mock;
97
+ getPullRequestChangedFilePaths: jest.Mock;
98
+ approvePullRequest: jest.Mock;
97
99
  setDependedIssueUrl: jest.Mock;
98
100
  };
99
101
  let mockIssueCommentRepository: {
@@ -126,6 +128,8 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
126
128
  updateStatus: jest.fn(),
127
129
  findRelatedOpenPRs: jest.fn(),
128
130
  getOpenPullRequest: jest.fn(),
131
+ getPullRequestChangedFilePaths: jest.fn().mockResolvedValue([]),
132
+ approvePullRequest: jest.fn().mockResolvedValue(undefined),
129
133
  setDependedIssueUrl: jest.fn(),
130
134
  };
131
135
 
@@ -2763,4 +2767,249 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
2763
2767
  );
2764
2768
  });
2765
2769
  });
2770
+
2771
+ describe('change-target label auto-approve', () => {
2772
+ const setupApprovedPrScenario = (issueOverrides: Partial<Issue> = {}) => {
2773
+ const issue = createMockIssue({
2774
+ url: 'https://github.com/user/repo/issues/1',
2775
+ status: 'Preparation',
2776
+ ...issueOverrides,
2777
+ });
2778
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2779
+ mockIssueRepository.get.mockResolvedValue(issue);
2780
+ mockIssueCommentRepository.getCommentsFromIssue.mockResolvedValue([
2781
+ createMockComment({ content: 'From: :robot: Agent report' }),
2782
+ ]);
2783
+ mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([
2784
+ {
2785
+ url: 'https://github.com/user/repo/pull/1',
2786
+ isConflicted: false,
2787
+ isPassedAllCiJob: true,
2788
+ isCiStateSuccess: true,
2789
+ isResolvedAllReviewComments: true,
2790
+ isBranchOutOfDate: false,
2791
+ missingRequiredCheckNames: [],
2792
+ },
2793
+ ]);
2794
+ };
2795
+
2796
+ it('should not approve PR when issue has no change-target label', async () => {
2797
+ setupApprovedPrScenario();
2798
+
2799
+ await useCase.run({
2800
+ projectUrl: 'https://github.com/users/user/projects/1',
2801
+ issueUrl: 'https://github.com/user/repo/issues/1',
2802
+ thresholdForAutoReject: 3,
2803
+ workflowBlockerResolvedWebhookUrl: null,
2804
+ allowedIssueAuthors: null,
2805
+ });
2806
+
2807
+ expect(
2808
+ mockIssueRepository.getPullRequestChangedFilePaths,
2809
+ ).not.toHaveBeenCalled();
2810
+ expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
2811
+ expect(mockIssueRepository.update).toHaveBeenCalledWith(
2812
+ expect.objectContaining({ status: 'Awaiting Quality Check' }),
2813
+ mockProject,
2814
+ );
2815
+ });
2816
+
2817
+ it('should approve PR when issue has change-target label and all files are confined', async () => {
2818
+ setupApprovedPrScenario({ labels: ['change-target:src/domain'] });
2819
+ mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
2820
+ 'src/domain/entities/Foo.ts',
2821
+ 'src/domain/usecases/Bar.ts',
2822
+ ]);
2823
+
2824
+ await useCase.run({
2825
+ projectUrl: 'https://github.com/users/user/projects/1',
2826
+ issueUrl: 'https://github.com/user/repo/issues/1',
2827
+ thresholdForAutoReject: 3,
2828
+ workflowBlockerResolvedWebhookUrl: null,
2829
+ allowedIssueAuthors: null,
2830
+ });
2831
+
2832
+ expect(
2833
+ mockIssueRepository.getPullRequestChangedFilePaths,
2834
+ ).toHaveBeenCalledWith('https://github.com/user/repo/pull/1');
2835
+ expect(mockIssueRepository.approvePullRequest).toHaveBeenCalledWith(
2836
+ 'https://github.com/user/repo/pull/1',
2837
+ );
2838
+ expect(mockIssueRepository.update).toHaveBeenCalledWith(
2839
+ expect.objectContaining({ status: 'Awaiting Quality Check' }),
2840
+ mockProject,
2841
+ );
2842
+ });
2843
+
2844
+ it('should not approve PR when any changed file is outside the labeled path', async () => {
2845
+ setupApprovedPrScenario({ labels: ['change-target:src/domain'] });
2846
+ mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
2847
+ 'src/domain/entities/Foo.ts',
2848
+ 'src/adapter/repositories/Outside.ts',
2849
+ ]);
2850
+
2851
+ await useCase.run({
2852
+ projectUrl: 'https://github.com/users/user/projects/1',
2853
+ issueUrl: 'https://github.com/user/repo/issues/1',
2854
+ thresholdForAutoReject: 3,
2855
+ workflowBlockerResolvedWebhookUrl: null,
2856
+ allowedIssueAuthors: null,
2857
+ });
2858
+
2859
+ expect(
2860
+ mockIssueRepository.getPullRequestChangedFilePaths,
2861
+ ).toHaveBeenCalledWith('https://github.com/user/repo/pull/1');
2862
+ expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
2863
+ expect(mockIssueRepository.update).toHaveBeenCalledWith(
2864
+ expect.objectContaining({ status: 'Awaiting Quality Check' }),
2865
+ mockProject,
2866
+ );
2867
+ });
2868
+
2869
+ it('should approve when files are confined under any of multiple change-target labels', async () => {
2870
+ setupApprovedPrScenario({
2871
+ labels: ['change-target:src/domain', 'change-target:docs'],
2872
+ });
2873
+ mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
2874
+ 'src/domain/entities/Foo.ts',
2875
+ 'docs/intro.md',
2876
+ ]);
2877
+
2878
+ await useCase.run({
2879
+ projectUrl: 'https://github.com/users/user/projects/1',
2880
+ issueUrl: 'https://github.com/user/repo/issues/1',
2881
+ thresholdForAutoReject: 3,
2882
+ workflowBlockerResolvedWebhookUrl: null,
2883
+ allowedIssueAuthors: null,
2884
+ });
2885
+
2886
+ expect(mockIssueRepository.approvePullRequest).toHaveBeenCalledWith(
2887
+ 'https://github.com/user/repo/pull/1',
2888
+ );
2889
+ });
2890
+
2891
+ it('should not approve when PR has more than 100 changed files and one file beyond entry 100 is outside the labeled path', async () => {
2892
+ setupApprovedPrScenario({ labels: ['change-target:src/domain'] });
2893
+ const filePaths: string[] = [];
2894
+ for (let i = 0; i < 150; i += 1) {
2895
+ filePaths.push(`src/domain/file${i}.ts`);
2896
+ }
2897
+ filePaths.push('src/adapter/Outside.ts');
2898
+ mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue(
2899
+ filePaths,
2900
+ );
2901
+
2902
+ await useCase.run({
2903
+ projectUrl: 'https://github.com/users/user/projects/1',
2904
+ issueUrl: 'https://github.com/user/repo/issues/1',
2905
+ thresholdForAutoReject: 3,
2906
+ workflowBlockerResolvedWebhookUrl: null,
2907
+ allowedIssueAuthors: null,
2908
+ });
2909
+
2910
+ expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
2911
+ });
2912
+
2913
+ it('should match boundary-safely (change-target:foo matches foo/bar.ts but not foobar/baz.ts)', async () => {
2914
+ setupApprovedPrScenario({ labels: ['change-target:foo'] });
2915
+ mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
2916
+ 'foo/bar.ts',
2917
+ 'foobar/baz.ts',
2918
+ ]);
2919
+
2920
+ await useCase.run({
2921
+ projectUrl: 'https://github.com/users/user/projects/1',
2922
+ issueUrl: 'https://github.com/user/repo/issues/1',
2923
+ thresholdForAutoReject: 3,
2924
+ workflowBlockerResolvedWebhookUrl: null,
2925
+ allowedIssueAuthors: null,
2926
+ });
2927
+
2928
+ expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
2929
+ });
2930
+
2931
+ it('should approve when changed files match exact path or subpath of the labeled path', async () => {
2932
+ setupApprovedPrScenario({ labels: ['change-target:foo'] });
2933
+ mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
2934
+ 'foo/bar.ts',
2935
+ 'foo/nested/baz.ts',
2936
+ ]);
2937
+
2938
+ await useCase.run({
2939
+ projectUrl: 'https://github.com/users/user/projects/1',
2940
+ issueUrl: 'https://github.com/user/repo/issues/1',
2941
+ thresholdForAutoReject: 3,
2942
+ workflowBlockerResolvedWebhookUrl: null,
2943
+ allowedIssueAuthors: null,
2944
+ });
2945
+
2946
+ expect(mockIssueRepository.approvePullRequest).toHaveBeenCalledWith(
2947
+ 'https://github.com/user/repo/pull/1',
2948
+ );
2949
+ });
2950
+
2951
+ it('should not approve when PR has zero changed files', async () => {
2952
+ setupApprovedPrScenario({ labels: ['change-target:src/domain'] });
2953
+ mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([]);
2954
+
2955
+ await useCase.run({
2956
+ projectUrl: 'https://github.com/users/user/projects/1',
2957
+ issueUrl: 'https://github.com/user/repo/issues/1',
2958
+ thresholdForAutoReject: 3,
2959
+ workflowBlockerResolvedWebhookUrl: null,
2960
+ allowedIssueAuthors: null,
2961
+ });
2962
+
2963
+ expect(
2964
+ mockIssueRepository.getPullRequestChangedFilePaths,
2965
+ ).toHaveBeenCalledWith('https://github.com/user/repo/pull/1');
2966
+ expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
2967
+ });
2968
+
2969
+ it('should not approve when there is no approved PR even if change-target label is present', async () => {
2970
+ const issue = createMockIssue({
2971
+ url: 'https://github.com/user/repo/issues/1',
2972
+ status: 'Preparation',
2973
+ labels: ['change-target:src/domain'],
2974
+ });
2975
+ mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
2976
+ mockIssueRepository.get.mockResolvedValue(issue);
2977
+ mockIssueCommentRepository.getCommentsFromIssue.mockResolvedValue([
2978
+ createMockComment({ content: 'From: :robot: Agent report' }),
2979
+ ]);
2980
+ mockIssueRepository.findRelatedOpenPRs.mockResolvedValue([]);
2981
+
2982
+ await useCase.run({
2983
+ projectUrl: 'https://github.com/users/user/projects/1',
2984
+ issueUrl: 'https://github.com/user/repo/issues/1',
2985
+ thresholdForAutoReject: 3,
2986
+ workflowBlockerResolvedWebhookUrl: null,
2987
+ allowedIssueAuthors: null,
2988
+ });
2989
+
2990
+ expect(
2991
+ mockIssueRepository.getPullRequestChangedFilePaths,
2992
+ ).not.toHaveBeenCalled();
2993
+ expect(mockIssueRepository.approvePullRequest).not.toHaveBeenCalled();
2994
+ });
2995
+
2996
+ it('should normalize trailing slashes in change-target label paths', async () => {
2997
+ setupApprovedPrScenario({ labels: ['change-target:src/domain/'] });
2998
+ mockIssueRepository.getPullRequestChangedFilePaths.mockResolvedValue([
2999
+ 'src/domain/entities/Foo.ts',
3000
+ ]);
3001
+
3002
+ await useCase.run({
3003
+ projectUrl: 'https://github.com/users/user/projects/1',
3004
+ issueUrl: 'https://github.com/user/repo/issues/1',
3005
+ thresholdForAutoReject: 3,
3006
+ workflowBlockerResolvedWebhookUrl: null,
3007
+ allowedIssueAuthors: null,
3008
+ });
3009
+
3010
+ expect(mockIssueRepository.approvePullRequest).toHaveBeenCalledWith(
3011
+ 'https://github.com/user/repo/pull/1',
3012
+ );
3013
+ });
3014
+ });
2766
3015
  });
@@ -49,6 +49,8 @@ export class NotifyFinishedIssuePreparationUseCase {
49
49
  | 'findRelatedOpenPRs'
50
50
  | 'getStoryObjectMap'
51
51
  | 'getOpenPullRequest'
52
+ | 'getPullRequestChangedFilePaths'
53
+ | 'approvePullRequest'
52
54
  | 'setDependedIssueUrl'
53
55
  >,
54
56
  private readonly issueCommentRepository: Pick<
@@ -171,7 +173,7 @@ export class NotifyFinishedIssuePreparationUseCase {
171
173
  const isTrustedAuthor = (author: string): boolean =>
172
174
  this.isAuthorTrusted(author, params.allowedIssueAuthors ?? null);
173
175
 
174
- const { rejections } = await this.collectRejections(
176
+ const { rejections, approvedPrUrl } = await this.collectRejections(
175
177
  issue,
176
178
  comments,
177
179
  isTrustedAuthor,
@@ -225,6 +227,7 @@ export class NotifyFinishedIssuePreparationUseCase {
225
227
  }
226
228
 
227
229
  if (rejections.length <= 0) {
230
+ await this.maybeAutoApprovePrByChangeTarget(issue, approvedPrUrl);
228
231
  issue.status = AWAITING_QUALITY_CHECK_STATUS_NAME;
229
232
  await this.issueRepository.update(issue, project);
230
233
  await this.issueRepository.updateStatus(
@@ -271,6 +274,54 @@ export class NotifyFinishedIssuePreparationUseCase {
271
274
  ): boolean =>
272
275
  allowedIssueAuthors === null || allowedIssueAuthors.includes(author);
273
276
 
277
+ private extractChangeTargetPaths = (labels: string[]): string[] => {
278
+ const prefix = 'change-target:';
279
+ const paths: string[] = [];
280
+ for (const label of labels) {
281
+ if (!label.startsWith(prefix)) continue;
282
+ const raw = label.slice(prefix.length).trim();
283
+ if (raw.length === 0) continue;
284
+ const normalized = raw.replace(/\/+$/, '');
285
+ if (normalized.length === 0) continue;
286
+ paths.push(normalized);
287
+ }
288
+ return paths;
289
+ };
290
+
291
+ private isFilePathConfinedToAllowedPaths = (
292
+ filePath: string,
293
+ allowedPaths: string[],
294
+ ): boolean =>
295
+ allowedPaths.some(
296
+ (allowedPath) =>
297
+ filePath === allowedPath || filePath.startsWith(`${allowedPath}/`),
298
+ );
299
+
300
+ private maybeAutoApprovePrByChangeTarget = async (
301
+ issue: { labels: string[] },
302
+ approvedPrUrl: string | null,
303
+ ): Promise<void> => {
304
+ if (approvedPrUrl === null) {
305
+ return;
306
+ }
307
+ const changeTargetPaths = this.extractChangeTargetPaths(issue.labels);
308
+ if (changeTargetPaths.length === 0) {
309
+ return;
310
+ }
311
+ const changedFilePaths =
312
+ await this.issueRepository.getPullRequestChangedFilePaths(approvedPrUrl);
313
+ if (changedFilePaths.length === 0) {
314
+ return;
315
+ }
316
+ const allConfined = changedFilePaths.every((filePath) =>
317
+ this.isFilePathConfinedToAllowedPaths(filePath, changeTargetPaths),
318
+ );
319
+ if (!allConfined) {
320
+ return;
321
+ }
322
+ await this.issueRepository.approvePullRequest(approvedPrUrl);
323
+ };
324
+
274
325
  private collectRejections = async (
275
326
  issue: { url: string; labels: string[]; isPr: boolean },
276
327
  comments: { author: string; content: string }[],
@@ -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;AAyPzD,qBAAa,+BACX,SAAQ,oBACR,YAAW,eAAe;IAGxB,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC;IACxE,QAAQ,CAAC,mBAAmB,EAAE,IAAI,CAChC,mBAAmB,EACjB,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,UAAU,GACV,cAAc,GACd,aAAa,GACb,oBAAoB,CACvB;IACD,QAAQ,CAAC,4BAA4B,EAAE,IAAI,CACzC,4BAA4B,EAC1B,mBAAmB,GACnB,uBAAuB,GACvB,oBAAoB,GACpB,mBAAmB,GACnB,wBAAwB,GACxB,mBAAmB,CACtB;IACD,QAAQ,CAAC,2BAA2B,EAAE,IAAI,CACxC,2BAA2B,EAC3B,WAAW,GAAG,KAAK,CACpB;IACD,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM;gBAzBf,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAC/D,mBAAmB,EAAE,IAAI,CAChC,mBAAmB,EACjB,gBAAgB,GAChB,aAAa,GACb,eAAe,GACf,UAAU,GACV,cAAc,GACd,aAAa,GACb,oBAAoB,CACvB,EACQ,4BAA4B,EAAE,IAAI,CACzC,4BAA4B,EAC1B,mBAAmB,GACnB,uBAAuB,GACvB,oBAAoB,GACpB,mBAAmB,GACnB,wBAAwB,GACxB,mBAAmB,CACtB,EACQ,2BAA2B,EAAE,IAAI,CACxC,2BAA2B,EAC3B,WAAW,GAAG,KAAK,CACpB,EACQ,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,GAAE,MAAwC;IAK5D,YAAY,EAAE,CACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,IAAI,CAAC,CAOhB;IAEF,yBAAyB,GAAI,MAAM,WAAW,KAAG,KAAK,CAwDpD;IACF,qBAAqB,GACnB,UAAU,MAAM,EAChB,mBAAmB,MAAM,KACxB,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CA8CxB;IAEF,YAAY,GACV,WAAW,OAAO,CAAC,IAAI,CAAC,EACxB,mBAAmB,MAAM,KACxB,OAAO,CAAC;QACT,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CAYA;IACF,sBAAsB,GACpB,WAAW,OAAO,CAAC,IAAI,CAAC,KACvB,OAAO,CAAC,KAAK,EAAE,CAAC,CAIjB;IACF,cAAc,GACZ,KAAK,MAAM,EACX,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,WAAW,MAAM,EAAE,EACnB,QAAQ,MAAM,EAAE,KACf,OAAO,CAAC,MAAM,CAAC,CAShB;IACF,WAAW,GAAU,OAAO;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QAClC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,KAAG,OAAO,CACT;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,EAAE,CACJ,CAEC;IACF,WAAW,GAAU,OAAO,KAAK,KAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;IACF,aAAa,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAOxD;IACF,iBAAiB,GACf,SAAS,OAAO,EAChB,UAAU,MAAM,KACf,OAAO,CAAC,IAAI,CAAC,CAKd;IACF,mBAAmB,GACjB,OAAO,MAAM,EACb,SAAS,OAAO,EAChB,UAAU,MAAM,KACf,OAAO,CAAC,IAAI,CAAC,CAqBd;IAEF,oBAAoB,GAClB,UAAU,MAAM,EAChB,SAAS,OAAO,EAChB,MAAM,IAAI,KACT,OAAO,CAAC,IAAI,CAAC,CAed;IACF,oBAAoB,GAClB,SAAS,OAAO,GAAG;QACjB,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;KACxD,EACD,OAAO,KAAK,EACZ,MAAM,MAAM,KACX,OAAO,CAAC,IAAI,CAAC,CAOd;IACF,WAAW,GACT,SAAS,OAAO,GAAG;QAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;KAAE,EAC3D,OAAO,KAAK,EACZ,eAAe,MAAM,KACpB,OAAO,CAAC,IAAI,CAAC,CAOd;IACF,iBAAiB,GACf,SAAS,OAAO,EAChB,SAAS,MAAM,EACf,OAAO,KAAK,KACX,OAAO,CAAC,IAAI,CAAC,CAOd;IACF,aAAa,GAAU,OAAO,KAAK,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAElE;IACF,sBAAsB,GACpB,SAAS,OAAO,EAChB,SAAS,MAAM,EACf,OAAO,KAAK,EACZ,MAAM,MAAM,KACX,OAAO,CAAC,IAAI,CAAC,CAOd;IAEF,YAAY,GAAI,OAAO,KAAK,EAAE,QAAQ,KAAK,CAAC,QAAQ,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;IACF,WAAW,GAAI,OAAO,KAAK,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAExD;IACF,kBAAkB,GAChB,OAAO,KAAK,EACZ,cAAc,MAAM,CAAC,MAAM,CAAC,EAAE,KAC7B,OAAO,CAAC,IAAI,CAAC,CAEd;IACF,GAAG,GAAU,WAAW,MAAM,EAAE,UAAU,OAAO,KAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAEvE;IACF,MAAM,GAAU,OAAO,KAAK,EAAE,UAAU,OAAO,KAAG,OAAO,CAAC,IAAI,CAAC,CAE7D;IACF,OAAO,CAAC,aAAa,CAoBnB;IAEF,OAAO,CAAC,eAAe,CAwGrB;IAEF,kBAAkB,GAChB,UAAU,MAAM,KACf,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA2K9B;IAEF,YAAY,GACV,SAAS,OAAO,EAChB,mBAAmB,MAAM,KACxB,OAAO,CAAC,KAAK,EAAE,CAAC,CAGjB;IAEF,iBAAiB,GACf,SAAS,OAAO,EAChB,mBAAmB,MAAM,KACxB,OAAO,CAAC,cAAc,CAAC,CAmBxB;IAEF,kBAAkB,GAChB,OAAO,MAAM,KACZ,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAqHnC;IAEF,gBAAgB,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAgBrD;IAEF,uBAAuB,GACrB,OAAO,MAAM,EACb,YAAY,MAAM,KACjB,OAAO,CAAC,IAAI,CAAC,CAgBd;IAEF,kBAAkB,GAChB,cAAc,MAAM,EACpB,aAAa,MAAM,KAClB,OAAO,CAAC,IAAI,CAAC,CAEd;CACH"}
1
+ {"version":3,"file":"ApiV3CheerioRestIssueRepository.d.ts","sourceRoot":"","sources":["../../../../src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare class NotifyFinishedIssuePreparationUseCase {
14
14
  private readonly issueCommentRepository;
15
15
  private readonly webhookRepository;
16
16
  private readonly issueRejectionEvaluator;
17
- constructor(projectRepository: Pick<ProjectRepository, 'getByUrl'>, issueRepository: Pick<IssueRepository, 'get' | 'update' | 'updateStatus' | 'findRelatedOpenPRs' | 'getStoryObjectMap' | 'getOpenPullRequest' | 'setDependedIssueUrl'>, issueCommentRepository: Pick<IssueCommentRepository, 'getCommentsFromIssue' | 'createComment'>, webhookRepository: Pick<WebhookRepository, 'sendGetRequest'>);
17
+ 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
18
  run: (params: {
19
19
  projectUrl: string;
20
20
  issueUrl: string;
@@ -23,6 +23,9 @@ export declare class NotifyFinishedIssuePreparationUseCase {
23
23
  allowedIssueAuthors?: string[] | null;
24
24
  }) => Promise<void>;
25
25
  private isAuthorTrusted;
26
+ private extractChangeTargetPaths;
27
+ private isFilePathConfinedToAllowedPaths;
28
+ private maybeAutoApprovePrByChangeTarget;
26
29
  private collectRejections;
27
30
  private reportBodyHasNextStep;
28
31
  private setDependedIssueUrlForAllOpenPRs;
@@ -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;AAY3E,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;IAI9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAUhC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAIvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAlBpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;gBAG/C,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,qBAAqB,CACxB,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC,EACgB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,gBAAgB,CACjB;IAKH,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,CAkMf;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"}
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;AAY3E,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;IAI9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAYhC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAIvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IApBpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;gBAG/C,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;IAKH,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,CAmMf;IAEF,OAAO,CAAC,eAAe,CAIgD;IAEvE,OAAO,CAAC,wBAAwB,CAY9B;IAEF,OAAO,CAAC,gCAAgC,CAOpC;IAEJ,OAAO,CAAC,gCAAgC,CAuBtC;IAEF,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"}
@@ -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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"}