Skip to content

Commit 4e651d6

Browse files
authored
Update last-reviewed-cron.yml
1 parent faf387a commit 4e651d6

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

.github/workflows/last-reviewed-cron.yml

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,27 @@ jobs:
160160
}
161161
}
162162
163+
const pickLastTwoSegments = (textOrUrl) => {
164+
if (!textOrUrl) return '';
165+
try {
166+
const urlObj = new URL(textOrUrl);
167+
const segs = urlObj.pathname.split('/').filter(Boolean);
168+
if (segs.length >= 2) return `${segs[segs.length - 2]}/${segs[segs.length - 1]}/`;
169+
if (segs.length === 1) return `${segs[0]}/`;
170+
return '';
171+
} catch {
172+
const m = (textOrUrl.match(/https?:\/\/[^\s)'"<>]+/i) || [])[0];
173+
if (!m) return '';
174+
try {
175+
const u = new URL(m);
176+
const segs = u.pathname.split('/').filter(Boolean);
177+
if (segs.length >= 2) return `${segs[segs.length - 2]}/${segs[segs.length - 1]}/`;
178+
if (segs.length === 1) return `${segs[0]}/`;
179+
return '';
180+
} catch { return ''; }
181+
}
182+
};
183+
163184
// Movement counters & log
164185
let movedDoneToMaint = 0;
165186
let movedMaintToDone = 0;
@@ -173,12 +194,18 @@ jobs:
173194
const status = getStatusName(item);
174195
const lrd = getDate(item, lrdId);
175196
if (!status || !lrd) continue; // only move when LRD exists
197+
198+
const prNumber = item.content.number;
199+
const repoName = item.content.repository.name;
200+
const shortRef = `${repoName}#${prNumber}`;
201+
202+
let lastTwoSegments = pickLastTwoSegments(item.content.bodyText) || pickLastTwoSegments(item.content.url) || '(no-path)';
176203
177204
// Done -> Maintenance: LRD older/equal than 6 months ago
178205
if (status === STATUS_DONE && toDate(lrd) <= toDate(sixMonthsAgoISO)) {
179206
await setStatus(itemId, statusFieldId, maintId);
180207
movedDoneToMaint++;
181-
const line = `[Cron] Move Done → Maintenance (LRD ${lrd} ≤ ${sixMonthsAgoISO})`;
208+
const line = `[Cron] Moved ${shortRef} → Maintenance (LRD ${lrd} ≤ ${sixMonthsAgoISO}) | ${lastTwoSegments}`;
182209
console.log(line);
183210
moveLog.push(line);
184211
continue; // skip second rule for same item
@@ -188,7 +215,7 @@ jobs:
188215
if (status === STATUS_MAINT && toDate(lrd) > toDate(sixMonthsAgoISO)) {
189216
await setStatus(itemId, statusFieldId, doneId);
190217
movedMaintToDone++;
191-
const line = `[Cron] Move Maintenance → Done (LRD ${lrd} > ${sixMonthsAgoISO})`;
218+
const line = `[Cron] Moved ${shortRef} → Done (LRD ${lrd} > ${sixMonthsAgoISO}) | ${lastTwoSegments}`;
192219
console.log(line);
193220
moveLog.push(line);
194221
}
@@ -209,4 +236,4 @@ jobs:
209236
])
210237
.addHeading('Details', 2)
211238
.addCodeBlock(moveLog.join('\n') || 'No moves', 'text')
212-
.write();
239+
.write();

0 commit comments

Comments
 (0)