fix(coding-agent): use PAT directly for issue analysis auth
This commit is contained in:
@@ -63,13 +63,33 @@ jobs:
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const { getOctokit } = require('@actions/github');
|
const response = await fetch(
|
||||||
const orgGithub = getOctokit(process.env.ORG_READ_TOKEN);
|
`https://api.github.com/orgs/earendil-works/teams/staff/memberships/${encodeURIComponent(username)}`,
|
||||||
const { data: membership } = await orgGithub.rest.teams.getMembershipForUserInOrg({
|
{
|
||||||
org: 'earendil-works',
|
headers: {
|
||||||
team_slug: 'staff',
|
Accept: 'application/vnd.github+json',
|
||||||
username,
|
Authorization: `Bearer ${process.env.ORG_READ_TOKEN}`,
|
||||||
});
|
'X-GitHub-Api-Version': '2022-11-28',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
if (response.status === 404) {
|
||||||
|
await removeTriggerLabel();
|
||||||
|
core.setFailed(`@${username} is not an active earendil-works/staff member.`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
const body = await response.text();
|
||||||
|
await removeTriggerLabel();
|
||||||
|
core.setFailed(
|
||||||
|
`Could not verify earendil-works/staff membership for @${username}: HTTP ${response.status} ${body}`,
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const membership = await response.json();
|
||||||
if (membership.state !== 'active') {
|
if (membership.state !== 'active') {
|
||||||
await removeTriggerLabel();
|
await removeTriggerLabel();
|
||||||
core.setFailed(`@${username} is not an active earendil-works/staff member.`);
|
core.setFailed(`@${username} is not an active earendil-works/staff member.`);
|
||||||
@@ -78,8 +98,11 @@ jobs:
|
|||||||
console.log(`earendil-works/staff membership for @${username}: ${membership.state}`);
|
console.log(`earendil-works/staff membership for @${username}: ${membership.state}`);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
await removeTriggerLabel();
|
await removeTriggerLabel();
|
||||||
const status = typeof error === 'object' && error !== null && 'status' in error ? error.status : 'unknown';
|
core.setFailed(
|
||||||
core.setFailed(`Could not verify earendil-works/staff membership for @${username}: ${status}`);
|
`Could not verify earendil-works/staff membership for @${username}: ${
|
||||||
|
error instanceof Error ? error.message : String(error)
|
||||||
|
}`,
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user