|
@@ -1,85 +0,0 @@
|
|
|
-const Octokit = require('@octokit/core');
|
|
|
|
|
-
|
|
|
|
|
-const octokit = new Octokit.Octokit({
|
|
|
|
|
- auth: process.env.GITHUB_TOKEN || process.env.GITHUB_AUTH,
|
|
|
|
|
-});
|
|
|
|
|
-
|
|
|
|
|
-const queryIssue = ({ title, id }) => {
|
|
|
|
|
- return octokit
|
|
|
|
|
- .request('GET /search/issues', {
|
|
|
|
|
- q: title,
|
|
|
|
|
- per_page: 5,
|
|
|
|
|
- })
|
|
|
|
|
- .then(({ data }) => {
|
|
|
|
|
- const list = data.items
|
|
|
|
|
- .map((item) => {
|
|
|
|
|
- return {
|
|
|
|
|
- title: item.title,
|
|
|
|
|
- url: item.html_url,
|
|
|
|
|
- id: item.id,
|
|
|
|
|
- };
|
|
|
|
|
- })
|
|
|
|
|
- .filter((item) => {
|
|
|
|
|
- return item.id !== id;
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- if (list.length > 0) {
|
|
|
|
|
- return `
|
|
|
|
|
-> Issue Robot generation
|
|
|
|
|
-
|
|
|
|
|
-### 以下的issue可能会帮助到你 :
|
|
|
|
|
-
|
|
|
|
|
-${list
|
|
|
|
|
- .map((item) => {
|
|
|
|
|
- return `* [${item.title}](${item.url})`;
|
|
|
|
|
- })
|
|
|
|
|
- .join('\n')}`;
|
|
|
|
|
- }
|
|
|
|
|
- return null;
|
|
|
|
|
- })
|
|
|
|
|
- .then(async (markdown) => {
|
|
|
|
|
- return markdown;
|
|
|
|
|
- });
|
|
|
|
|
-};
|
|
|
|
|
-
|
|
|
|
|
-const findIssue = async (issueId) => {
|
|
|
|
|
- const { data } = await octokit.request('GET /repos/{owner}/{repo}/issues/{issue_number}', {
|
|
|
|
|
- owner: 'ant-design',
|
|
|
|
|
- repo: 'ant-design-pro',
|
|
|
|
|
- issue_number: issueId,
|
|
|
|
|
- });
|
|
|
|
|
- return data;
|
|
|
|
|
-};
|
|
|
|
|
-const closeIssue = async (issueId) => {
|
|
|
|
|
- await octokit.request('PATCH /repos/{owner}/{repo}/issues/{issue_number}', {
|
|
|
|
|
- owner: 'ant-design',
|
|
|
|
|
- repo: 'ant-design-pro',
|
|
|
|
|
- issue_number: issueId,
|
|
|
|
|
- state: 'closed',
|
|
|
|
|
- });
|
|
|
|
|
-};
|
|
|
|
|
-const replyCommit = async (issueId, markdown) => {
|
|
|
|
|
- await octokit.request('POST /repos/{owner}/{repo}/issues/{issue_number}/comments', {
|
|
|
|
|
- owner: 'ant-design',
|
|
|
|
|
- repo: 'ant-design-pro',
|
|
|
|
|
- issue_number: issueId,
|
|
|
|
|
- body: markdown,
|
|
|
|
|
- });
|
|
|
|
|
-};
|
|
|
|
|
-
|
|
|
|
|
-const reply = async () => {
|
|
|
|
|
- const issueId = process.env.ISSUE_NUMBER;
|
|
|
|
|
- const issue = await findIssue(issueId);
|
|
|
|
|
- if (!issue.title || issue.title.length < 12) {
|
|
|
|
|
- replyCommit(issueId, '**请写标题!**');
|
|
|
|
|
- closeIssue(issueId);
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- // const markdown = await queryIssue({
|
|
|
|
|
- // title: issue.title,
|
|
|
|
|
- // id: issue.id,
|
|
|
|
|
- // });
|
|
|
|
|
- // replyCommit(issueId, markdown);
|
|
|
|
|
-};
|
|
|
|
|
-
|
|
|
|
|
-reply();
|
|
|