github-issue-tower-defence-management 1.36.0 → 1.36.1

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [1.36.1](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.36.0...v1.36.1) (2026-04-09)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **core:** include issue url in error when updateAssigneeList fails ([2f9358b](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/2f9358b8db223466c5fb63c8b175ea720a6d3afc))
7
+
1
8
  # [1.36.0](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.35.2...v1.36.0) (2026-04-04)
2
9
 
3
10
 
@@ -12,7 +12,15 @@ class AssignNoAssigneeIssueToManagerUseCase {
12
12
  if (issue.assignees.length > 0 || issue.state !== 'OPEN') {
13
13
  continue;
14
14
  }
15
- await this.issueRepository.updateAssigneeList(issue, [input.manager]);
15
+ try {
16
+ await this.issueRepository.updateAssigneeList(issue, [input.manager]);
17
+ }
18
+ catch (e) {
19
+ if (!(e instanceof Error)) {
20
+ throw e;
21
+ }
22
+ throw new Error(`Failed to update assignee for issue ${issue.url}: ${e.message}`);
23
+ }
16
24
  await new Promise((resolve) => setTimeout(resolve, 1000));
17
25
  }
18
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AssignNoAssigneeIssueToManagerUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.ts"],"names":[],"mappings":";;;AAIA,MAAa,qCAAqC;IAChD,YACW,eAA4D;QAA5D,oBAAe,GAAf,eAAe,CAA6C;QAGvE,QAAG,GAAG,KAAK,EAAE,KAIZ,EAAiB,EAAE;YAClB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBACzD,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;IAjBC,CAAC;CAkBL;AArBD,sFAqBC"}
1
+ {"version":3,"file":"AssignNoAssigneeIssueToManagerUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.ts"],"names":[],"mappings":";;;AAIA,MAAa,qCAAqC;IAChD,YACW,eAA4D;QAA5D,oBAAe,GAAf,eAAe,CAA6C;QAGvE,QAAG,GAAG,KAAK,EAAE,KAIZ,EAAiB,EAAE;YAClB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;oBACzD,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;wBAC1B,MAAM,CAAC,CAAC;oBACV,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,uCAAuC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CACjE,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;IA1BC,CAAC;CA2BL;AA9BD,sFA8BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "1.36.0",
3
+ "version": "1.36.1",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -144,5 +144,25 @@ describe('AssignNoAssigneeIssueToManagerUseCase', () => {
144
144
  );
145
145
  });
146
146
  });
147
+
148
+ it('should include issue url in error message when updateAssigneeList fails', async () => {
149
+ const issueWithUrl = {
150
+ ...basicIssue,
151
+ url: 'https://github.com/testOrg/testRepo/issues/42',
152
+ };
153
+ mockIssueRepository.updateAssigneeList.mockRejectedValueOnce(
154
+ new Error('Request failed with status code 403 Forbidden'),
155
+ );
156
+
157
+ await expect(
158
+ useCase.run({
159
+ issues: [issueWithUrl],
160
+ manager: 'manager1',
161
+ cacheUsed: false,
162
+ }),
163
+ ).rejects.toThrow(
164
+ 'Failed to update assignee for issue https://github.com/testOrg/testRepo/issues/42: Request failed with status code 403 Forbidden',
165
+ );
166
+ });
147
167
  });
148
168
  });
@@ -19,7 +19,16 @@ export class AssignNoAssigneeIssueToManagerUseCase {
19
19
  if (issue.assignees.length > 0 || issue.state !== 'OPEN') {
20
20
  continue;
21
21
  }
22
- await this.issueRepository.updateAssigneeList(issue, [input.manager]);
22
+ try {
23
+ await this.issueRepository.updateAssigneeList(issue, [input.manager]);
24
+ } catch (e) {
25
+ if (!(e instanceof Error)) {
26
+ throw e;
27
+ }
28
+ throw new Error(
29
+ `Failed to update assignee for issue ${issue.url}: ${e.message}`,
30
+ );
31
+ }
23
32
  await new Promise((resolve) => setTimeout(resolve, 1000));
24
33
  }
25
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AssignNoAssigneeIssueToManagerUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,qBAAa,qCAAqC;IAE9C,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,oBAAoB,CAAC;gBAA5D,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,oBAAoB,CAAC;IAGvE,GAAG,GAAU,OAAO;QAClB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC;KACpB,KAAG,OAAO,CAAC,IAAI,CAAC,CAWf;CACH"}
1
+ {"version":3,"file":"AssignNoAssigneeIssueToManagerUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,qBAAa,qCAAqC;IAE9C,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,oBAAoB,CAAC;gBAA5D,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,oBAAoB,CAAC;IAGvE,GAAG,GAAU,OAAO;QAClB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC;KACpB,KAAG,OAAO,CAAC,IAAI,CAAC,CAoBf;CACH"}