notion-github 1.0.5 → 1.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/dist/cli.js +24 -28
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -4558,7 +4558,7 @@ var {
4558
4558
  } = import_index.default;
4559
4559
 
4560
4560
  // package.json
4561
- var version = "1.0.5";
4561
+ var version = "1.0.7";
4562
4562
 
4563
4563
  // src/commands/create/action.ts
4564
4564
  var import_rest = require("@octokit/rest");
@@ -5949,32 +5949,31 @@ fetch.Promise = global.Promise;
5949
5949
  var lib_default = fetch;
5950
5950
 
5951
5951
  // src/utils/discord.ts
5952
- async function sendDiscordNotification(webhookUrl, prTitle, prUrl, reviewers, lang = "en") {
5953
- const message = [
5954
- `\u{1F389} ${lang === "ko" ? "\uC0C8\uB85C\uC6B4 PR\uC774 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4!" : "New PR Created!"}`,
5955
- ``,
5956
- `\u{1F4CC} ${prTitle}`,
5957
- `\u{1F517} ${prUrl}`
5958
- ];
5959
- if (reviewers && reviewers.length > 0) {
5960
- message.push(``, `\u{1F465} ${lang === "ko" ? "\uB9AC\uBDF0\uC5B4" : "Reviewers"}: ${reviewers.map((r) => `@${r}`).join(", ")}`);
5961
- }
5962
- const payload = { content: message.join("\n") };
5963
- console.log("Sending Discord notification:", payload);
5952
+ async function sendDiscordNotification(webhookUrl, prTitle, prUrl, reviewers, lang = "en", template, discordReviewerMapping) {
5953
+ const defaultTemplate = {
5954
+ ko: ["# \u{1F389} \uC0C8\uB85C\uC6B4 PR\uC774 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4!", "## \uC81C\uBAA9", "> ${title}", "## \uB9C1\uD06C", "> ${url}", "${reviewers}"].join("\n"),
5955
+ en: ["# \u{1F389} New PR Created!", "## Title", "> ${title}", "## Link", "> ${url}", "${reviewers}"].join("\n")
5956
+ };
5957
+ const selectedTemplate = template && template[lang] || defaultTemplate[lang];
5958
+ const mappedReviewers = reviewers?.map((reviewer) => {
5959
+ const discordId = discordReviewerMapping?.[reviewer];
5960
+ return discordId ? `@${discordId}` : `@${reviewer}`;
5961
+ });
5962
+ let message = selectedTemplate.replace("${title}", prTitle).replace("${url}", prUrl).replace(
5963
+ "${reviewers}",
5964
+ mappedReviewers && mappedReviewers.length > 0 ? `## ${lang === "ko" ? "\uB9AC\uBDF0\uC5B4" : "Reviewers"}
5965
+ > ${mappedReviewers.join(", ")}` : ""
5966
+ );
5964
5967
  try {
5965
5968
  const response = await lib_default(webhookUrl, {
5966
5969
  method: "POST",
5967
5970
  headers: { "Content-Type": "application/json" },
5968
- body: JSON.stringify(payload)
5971
+ body: JSON.stringify({ content: message })
5969
5972
  });
5970
5973
  if (!response.ok) {
5971
- const errorText = await response.text();
5972
- console.error("Discord API Error:", errorText);
5973
5974
  throw new Error(`Discord API returned ${response.status}`);
5974
5975
  }
5975
- console.log("Discord notification sent successfully");
5976
5976
  } catch (error) {
5977
- console.error("Discord notification error:", error);
5978
5977
  throw new Error(lang === "ko" ? "\uB514\uC2A4\uCF54\uB4DC \uC54C\uB9BC \uC804\uC1A1 \uC2E4\uD328" : "Failed to send Discord notification");
5979
5978
  }
5980
5979
  }
@@ -5992,7 +5991,7 @@ async function action(options) {
5992
5991
  }
5993
5992
  options.repo = config.defaultRepository;
5994
5993
  }
5995
- const [owner, repo] = options.repo.split("/");
5994
+ const [owner, repo] = (options.repo || config.defaultRepository || "").split("/");
5996
5995
  const octokit = new import_rest.Octokit({ auth: config.githubToken });
5997
5996
  if (!owner || !repo) {
5998
5997
  console.error(getMessage("repoFormatError", lang));
@@ -6045,35 +6044,32 @@ ${error.message}`);
6045
6044
  }
6046
6045
  }
6047
6046
  }
6048
- console.log(getMessage("prCreateSuccess", lang, response.data.html_url));
6049
6047
  if (config.discordWebhook) {
6050
- console.log("Discord webhook URL:", config.discordWebhook);
6051
6048
  try {
6052
6049
  await sendDiscordNotification(
6053
6050
  config.discordWebhook,
6054
6051
  options.title,
6055
6052
  response.data.html_url,
6056
6053
  config.defaultReviewers,
6057
- lang
6054
+ lang,
6055
+ config.discordTemplate,
6056
+ config.discordReviewerMapping
6058
6057
  );
6059
6058
  console.log(getMessage("discordNotificationSent", lang));
6060
6059
  } catch (error) {
6061
- console.error("Discord error:", error);
6062
6060
  console.error(getMessage("discordNotificationFailed", lang, error.message));
6063
6061
  }
6064
6062
  }
6063
+ console.log(getMessage("prCreateSuccess", lang, response.data.html_url));
6065
6064
  } catch (e) {
6066
- console.error("Full error:", e);
6067
- console.error("Status:", e.status);
6068
- console.error("Response:", e.response?.data);
6069
6065
  if (e.message.includes("Bad credentials")) {
6070
6066
  console.error(getMessage("invalidToken", lang));
6071
6067
  } else if (e.message.includes("Not Found")) {
6072
6068
  console.error(getMessage("accessError", lang));
6073
6069
  console.error(getMessage("checkToken", lang));
6074
- console.error(getMessage("checkRepo", lang, options.repo || ""));
6070
+ console.error(getMessage("checkRepo", lang));
6075
6071
  } else {
6076
- console.error("Original error:", e.message);
6072
+ console.error(e.message);
6077
6073
  }
6078
6074
  process.exit(1);
6079
6075
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "notion-github",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "GitHub and Notion integration for PR automation",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",