Skip to content

Commit 94a659f

Browse files
committed
Ignore error getting authenticated user
1 parent ec8f38e commit 94a659f

File tree

2 files changed

+55
-45
lines changed

2 files changed

+55
-45
lines changed

dist/index.js

+22-19
Original file line numberDiff line numberDiff line change
@@ -15236,37 +15236,40 @@ function run() {
1523615236
});
1523715237
};
1523815238
approvePR = function () { return __awaiter(_this, void 0, void 0, function () {
15239-
var authenticatedUser, existingReviews, e_2, existingReview, review;
15239+
var maybeAuthenticatedUser, e_2, authenticatedUser_1, existingReviews, existingReview, review;
1524015240
return __generator(this, function (_a) {
1524115241
switch (_a.label) {
15242-
case 0: return [4 /*yield*/, octokit.rest.users.getAuthenticated()];
15242+
case 0:
15243+
maybeAuthenticatedUser = null;
15244+
_a.label = 1;
1524315245
case 1:
15244-
authenticatedUser = (_a.sent())
15245-
.data;
15246-
core.debug("Authenticated user: ".concat(authenticatedUser.id));
15247-
existingReviews = [];
15248-
_a.label = 2;
15246+
_a.trys.push([1, 3, , 4]);
15247+
return [4 /*yield*/, octokit.rest.users.getAuthenticated()];
1524915248
case 2:
15250-
_a.trys.push([2, 4, , 5]);
15251-
return [4 /*yield*/, octokit.rest.pulls.listReviews({
15252-
owner: context.repo.owner,
15253-
repo: context.repo.repo,
15254-
pull_number: pr.number,
15255-
})];
15249+
maybeAuthenticatedUser = (_a.sent())
15250+
.data;
15251+
return [3 /*break*/, 4];
1525615252
case 3:
15257-
existingReviews = (_a.sent()).data;
15258-
return [3 /*break*/, 5];
15259-
case 4:
1526015253
e_2 = _a.sent();
15261-
core.warning('Error checking for existing reviews. Assuming none');
15254+
core.warning('Error fetching authenticated user');
1526215255
if (core.isDebug() && (e_2 instanceof Error || typeof e_2 === 'string')) {
1526315256
core.warning(e_2);
1526415257
}
15265-
return [3 /*break*/, 5];
15258+
return [3 /*break*/, 4];
15259+
case 4:
15260+
if (!maybeAuthenticatedUser) return [3 /*break*/, 7];
15261+
authenticatedUser_1 = maybeAuthenticatedUser;
15262+
core.debug("Authenticated user: ".concat(authenticatedUser_1.id));
15263+
return [4 /*yield*/, octokit.rest.pulls.listReviews({
15264+
owner: context.repo.owner,
15265+
repo: context.repo.repo,
15266+
pull_number: pr.number,
15267+
})];
1526615268
case 5:
15269+
existingReviews = (_a.sent()).data;
1526715270
existingReview = existingReviews.find(function (_a) {
1526815271
var user = _a.user, state = _a.state;
15269-
return (user === null || user === void 0 ? void 0 : user.id) === authenticatedUser.id && state === 'PENDING';
15272+
return (user === null || user === void 0 ? void 0 : user.id) === authenticatedUser_1.id && state === 'PENDING';
1527015273
});
1527115274
if (!existingReview) return [3 /*break*/, 7];
1527215275
core.info("Found an existing pending review. Deleting it");

src/run.ts

+33-26
Original file line numberDiff line numberDiff line change
@@ -209,41 +209,48 @@ export async function run(): Promise<Result> {
209209
});
210210

211211
const approvePR = async () => {
212-
const authenticatedUser = (await octokit.rest.users.getAuthenticated())
213-
.data;
212+
let maybeAuthenticatedUser:
213+
| Awaited<
214+
ReturnType<(typeof octokit)['rest']['users']['getAuthenticated']>
215+
>['data']
216+
| null = null;
214217

215-
core.debug(`Authenticated user: ${authenticatedUser.id}`);
216-
217-
let existingReviews: Awaited<
218-
ReturnType<(typeof octokit)['rest']['pulls']['listReviews']>
219-
>['data'] = [];
220218
try {
221-
existingReviews = (
219+
maybeAuthenticatedUser = (await octokit.rest.users.getAuthenticated())
220+
.data;
221+
} catch (e) {
222+
core.warning('Error fetching authenticated user');
223+
if (core.isDebug() && (e instanceof Error || typeof e === 'string')) {
224+
core.warning(e);
225+
}
226+
}
227+
228+
if (maybeAuthenticatedUser) {
229+
const authenticatedUser = maybeAuthenticatedUser;
230+
core.debug(`Authenticated user: ${authenticatedUser.id}`);
231+
232+
const existingReviews = (
222233
await octokit.rest.pulls.listReviews({
223234
owner: context.repo.owner,
224235
repo: context.repo.repo,
225236
pull_number: pr.number,
226237
})
227238
).data;
228-
} catch (e) {
229-
core.warning('Error checking for existing reviews. Assuming none');
230-
if (core.isDebug() && (e instanceof Error || typeof e === 'string')) {
231-
core.warning(e);
232-
}
233-
}
234-
const existingReview = existingReviews.find(
235-
({ user, state }) =>
236-
user?.id === authenticatedUser.id && state === 'PENDING'
237-
);
238239

239-
if (existingReview) {
240-
core.info(`Found an existing pending review. Deleting it`);
241-
await octokit.rest.pulls.deletePendingReview({
242-
owner: context.repo.owner,
243-
repo: context.repo.repo,
244-
pull_number: pr.number,
245-
review_id: existingReview.id,
246-
});
240+
const existingReview = existingReviews.find(
241+
({ user, state }) =>
242+
user?.id === authenticatedUser.id && state === 'PENDING'
243+
);
244+
245+
if (existingReview) {
246+
core.info(`Found an existing pending review. Deleting it`);
247+
await octokit.rest.pulls.deletePendingReview({
248+
owner: context.repo.owner,
249+
repo: context.repo.repo,
250+
pull_number: pr.number,
251+
review_id: existingReview.id,
252+
});
253+
}
247254
}
248255

249256
const review = await octokit.rest.pulls.createReview({

0 commit comments

Comments
 (0)