Skip to content

Commit 1d9ae7f

Browse files
committed
fix: handle label already_exists errors robustly and use github-script v8
1 parent 44f6637 commit 1d9ae7f

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

.github/workflows/issue-labels-migrate.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: "Rename legacy labels to type: equivalents"
16-
uses: actions/github-script@v7
16+
uses: actions/github-script@v8
1717
with:
1818
script: |
1919
// Legacy label → canonical type: label.
@@ -26,9 +26,18 @@ jobs:
2626
];
2727
2828
function isAlreadyExistsError(err) {
29-
return err?.status === 422
30-
&& Array.isArray(err?.errors)
31-
&& err.errors.some(e => e.code === 'already_exists' && e.field === 'name');
29+
const errors = err?.errors
30+
|| err?.response?.data?.errors
31+
|| err?.data?.errors
32+
|| [];
33+
34+
const hasTypedError = Array.isArray(errors)
35+
&& errors.some(e => e?.code === 'already_exists' && e?.field === 'name');
36+
37+
const message = String(err?.message || '');
38+
const messageHasAlreadyExists = message.includes('already_exists') && message.includes('Label');
39+
40+
return (err?.status === 422 && hasTypedError) || messageHasAlreadyExists;
3241
}
3342
3443
async function relabelItems(from, to) {

0 commit comments

Comments
 (0)