added setup issue

This commit is contained in:
Arwid Thornström
2022-02-01 20:10:31 +01:00
parent 13af2cebba
commit 1c80394e96
10 changed files with 14374 additions and 209 deletions
+89
View File
@@ -0,0 +1,89 @@
import { Octokit } from "@octokit/core";
export const getOrgRepos = async (toolbox, token, org) => {
const { print } = toolbox;
const octokit = new Octokit({ auth: token });
try {
const response = await octokit.request("GET /orgs/{org}/repos", {
org: org,
per_page: 100,
});
if (response.status === 200) {
return response.data;
}
} catch (e) {
print.error('Not a valid organisation for your token access');
return null;
}
};
export const getOrgIssues = async (toolbox, token) => {
// const { print } = toolbox;
const repos = await getOrgRepos(toolbox, token, 'Photowall');
const repoNames = repos.map(item => item.name);
const allIssues = await Promise.all(repoNames.map(async (repoName) => {
const issues = await getOpenIssuesFromRepo(toolbox, token, repoName);
// console.log(`${repoName} - issues`, issues.length);
// return issues.map(item => `${item.number}-${item.title.substring(0, 10)}`);
return {repo: repoName, issues: issues};
}));
return allIssues.flat();
}
export const getOpenIssuesFromRepo = async (toolbox, token, repo) => {
const { print } = toolbox;
const octokit = new Octokit({ auth: token });
try {
const response = await octokit.request("GET /repos/{owner}/{repo}/issues", {
owner: "Photowall",
repo: repo,
per_page: 100,
});
if (response.status === 200) {
return response.data;
}
} catch (e) {
print.error('Not a valid issuenumber for this repository');
return null;
}
}
export const getIssueFromRepo = async (toolbox, token, repo, issue_number) => {
const { print } = toolbox;
const octokit = new Octokit({ auth: token });
try {
const response = await octokit.request("GET /repos/{owner}/{repo}/issues/{issue_number}", {
owner: "Photowall",
repo: repo,
issue_number: issue_number,
});
if (response.status === 200) {
return response.data;
}
} catch (e) {
print.error('Not a valid issuenumber for this repository');
return null;
}
}
export const createPullRequest = async (toolbox, token: string, repo: string, branch: string) => {
const { print } = toolbox;
const octokit = new Octokit({ auth: token });
try {
const response = await octokit.request('POST /repos/{owner}/{repo}/pulls', {
owner: 'Photowall',
repo: repo,
head: branch,
base: 'master'
});
console.log(`response`, response);
// if (response.status === 200) {
// return response.data;
// }
} catch (e) {
print.error('Not a valid branch');
return null;
}
}