{"record":{"id":"30e69d31598f43a6","repo":"affaan-m/ECC","slug":"github-repository-configuration-is-missing","errorCode":null,"errorMessage":"GitHub repository configuration is missing","messagePattern":"GitHub repository configuration is missing","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"scripts/discord/release-announce.mjs","lineNumber":203,"sourceCode":"  const recent = await discord('GET', `/channels/${env.DISCORD_ANNOUNCE_CHANNEL_ID}/messages?limit=100`);\n  const receipt = findDiscordReceipt(recent, key);\n  if (receipt) {\n    await discord('PUT', `/channels/${env.DISCORD_ANNOUNCE_CHANNEL_ID}/pins/${receipt.id}`);\n    console.log('announcement already delivered; pin verified');\n    return;\n  }\n  const message = await discord('POST', `/channels/${env.DISCORD_ANNOUNCE_CHANNEL_ID}/messages`, buildDiscordPayload({\n    title: discussion.title,\n    body: discussion.body,\n    url: discussion.url,\n    key,\n  }));\n  await discord('PUT', `/channels/${env.DISCORD_ANNOUNCE_CHANNEL_ID}/pins/${message.id}`);\n  console.log('announcement delivered and pinned');\n}\n\nasync function main() {\n  if (!env.GITHUB_REPOSITORY) throw new Error('GitHub repository configuration is missing');\n  if ((env.ANNOUNCEMENT_KIND === 'release' || env.ANNOUNCEMENT_KIND === 'manual') && !env.GITHUB_TOKEN) throw new Error('GitHub configuration is missing');\n  const discussion = env.ANNOUNCEMENT_KIND === 'release'\n    ? await createOrFindReleaseDiscussion()\n    : env.ANNOUNCEMENT_KIND === 'manual'\n      ? await discussionFromGitHub()\n      : discussionFromEnvironment();\n  await deliver(discussion);\n}\n\nmain().catch(error => {\n  console.error(`release-announce failed: ${error.message}`);\n  process.exitCode = 1;\n});\n","sourceCodeStart":185,"sourceCodeEnd":217,"githubUrl":"https://github.com/affaan-m/ECC/blob/06c5e118c4d3e6c3b7f9445f973a2194c82de193/scripts/discord/release-announce.mjs#L185-L217","documentation":"Guard in release-announce.mjs main: the GITHUB_REPOSITORY environment variable (owner/repo) is absent, so the script cannot construct any GitHub API URL. The workflow must run with repository context configured.","triggerScenarios":"Triggered when release-announce.mjs rejects the current invocation: GitHub repository configuration is missing","commonSituations":"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:203 aborts the command with this message.","solutions":["Provide valid credentials/configuration or wait for the rate-limit reset; verify permissions/role."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"06c5e118c4d3e6c3b7f9445f973a2194c82de193","analyzedAt":"2026-08-18T11:27:13.915Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}