affaan-m/ECC · error
Announcements discussion category is required
Error message
Announcements discussion category is required
What it means
createOrFindReleaseDiscussion needs the repo's 'Announcements' discussion category to post the release thread; the category lookup in discussionCategories returned no match, so the discussion cannot be created.
Source
Thrown at scripts/discord/release-announce.mjs:74
`query($owner:String!,$name:String!){repository(owner:$owner,name:$name){id discussionCategories(first:25){nodes{id name}}}}`,
{ owner, name },
);
const repository = data.repository;
let cursor = null;
let existing = null;
for (let page = 0; page < 50 && !existing; page += 1) {
const pageData = await githubGraphql(
`query($owner:String!,$name:String!,$after:String){repository(owner:$owner,name:$name){discussions(first:100,after:$after,orderBy:{field:CREATED_AT,direction:DESC}){nodes{id title body url category{name}} pageInfo{hasNextPage endCursor}}}}`,
{ owner, name, after: cursor },
);
const discussions = pageData.repository.discussions;
existing = findReleaseDiscussion(discussions.nodes, marker);
if (!discussions.pageInfo.hasNextPage) break;
cursor = discussions.pageInfo.endCursor;
}
if (existing) return existing;
const category = repository.discussionCategories.nodes.find(item => item.name === 'Announcements');
if (!category) throw new Error('Announcements discussion category is required');
const title = `${release.name || release.tag_name} release`;
const body = [marker, release.body || '', `Release: ${release.html_url}`].filter(Boolean).join('\n\n');
const created = await githubGraphql(
`mutation($repo:ID!,$cat:ID!,$title:String!,$body:String!){createDiscussion(input:{repositoryId:$repo,categoryId:$cat,title:$title,body:$body}){discussion{id title body url category{name}}}}`,
{ repo: repository.id, cat: category.id, title, body },
);
return created.createDiscussion.discussion;
}
function discussionFromEnvironment() {
if (env.DISCUSSION_CATEGORY !== 'Announcements') throw new Error('discussion is not an Announcement');
return {
id: env.DISCUSSION_ID,
title: env.DISCUSSION_TITLE,
body: env.DISCUSSION_BODY,
url: env.DISCUSSION_URL,
};
}View on GitHub (pinned to 06c5e118c4)
Solutions
- Supply the required argument/option named in the message and re-run the command.
Defensive patterns
Strategy: validation
When it happens
Trigger: Triggered when release-announce.mjs rejects the current invocation: Announcements discussion category is required
Common situations: Occurs while running scripts/discord/release-announce.mjs with invalid arguments, missing flags, or a failing external dependency; the guard at scripts/discord/release-announce.mjs:74 aborts the command with this message.
AI-assisted analysis of affaan-m/ECC@06c5e118c4 (2026-08-18).
Data as JSON: /api/errors/00c0c384e129ce9b.
Report an issue: GitHub.