refact: add github api type
This commit is contained in:
parent
79d8b321a5
commit
9d18600437
@ -1,15 +1,6 @@
|
||||
#! /usr/bin/env deno run --allow-net --allow-env
|
||||
import {Issue} from "./githubType.ts";
|
||||
|
||||
type Issue = {
|
||||
id: number;
|
||||
url: string;
|
||||
title: string;
|
||||
body: string;
|
||||
number: number,
|
||||
labels: {
|
||||
name: string;
|
||||
}[]
|
||||
}
|
||||
/**
|
||||
* get issue from github
|
||||
* @param repo repository name with owner (e.g. denoland/deno)
|
||||
@ -21,8 +12,9 @@ type Issue = {
|
||||
* console.log(issues);
|
||||
* ```
|
||||
*/
|
||||
async function getIssues(repo: string, token: string): Promise<Issue[]> {
|
||||
const res = await fetch(`https://api.github.com/repos/${repo}/issues?per_page=100`, {
|
||||
export async function getIssues(repo: string, token: string): Promise<Issue[]> {
|
||||
//check https://docs.github.com/en/rest/reference/issues#list-repository-issues
|
||||
const res = await fetch(`https://api.github.com/repos/${repo}/issues?per_page=100&labels=feature`, {
|
||||
headers: {
|
||||
Accept: 'application/vnd.github.v3+json',
|
||||
Authorization: `Token ${token}`
|
||||
|
81
tools/githubType.ts
Normal file
81
tools/githubType.ts
Normal file
@ -0,0 +1,81 @@
|
||||
export type User = {
|
||||
login: string;
|
||||
id: number;
|
||||
node_id: string;
|
||||
avatar_url: string;
|
||||
gravatar_id: string;
|
||||
url: string;
|
||||
html_url: string;
|
||||
followers_url: string;
|
||||
following_url: string;
|
||||
gists_url: string;
|
||||
starred_url: string;
|
||||
subscriptions_url: string;
|
||||
organizations_url: string;
|
||||
repos_url: string;
|
||||
events_url: string;
|
||||
received_events_url: string;
|
||||
type: string;
|
||||
site_admin: boolean;
|
||||
};
|
||||
export type Label = {
|
||||
id: number;
|
||||
node_id: string;
|
||||
url: string;
|
||||
name: string;
|
||||
description: string;
|
||||
color: string;
|
||||
default: boolean;
|
||||
};
|
||||
export type Milestone = {
|
||||
url: string;
|
||||
html_url: string;
|
||||
labels_url: string;
|
||||
id: number;
|
||||
node_id: string;
|
||||
number: number;
|
||||
state: string;
|
||||
title: string;
|
||||
description: string;
|
||||
creator: User;
|
||||
open_issues: number;
|
||||
closed_issues: number;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
closed_at?: string;
|
||||
due_on: string;
|
||||
};
|
||||
export type PullRequest = {
|
||||
url: string;
|
||||
html_url: string;
|
||||
diff_url: string;
|
||||
patch_url: string;
|
||||
};
|
||||
export type Issue = {
|
||||
id: number;
|
||||
node_id: string;
|
||||
url: string;
|
||||
repository_url: string;
|
||||
labels_url: string;
|
||||
comments_url: string;
|
||||
events_url: string;
|
||||
html_url: string;
|
||||
number: number;
|
||||
state: string;
|
||||
title: string;
|
||||
body: string;
|
||||
user: User;
|
||||
labels: Label[];
|
||||
assignee: User;
|
||||
assignees: User[];
|
||||
milestone: any;
|
||||
locked: boolean;
|
||||
active_lock_reason: string;
|
||||
comments: number;
|
||||
pull_request: PullRequest;
|
||||
closed_at?: string;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
closed_by: User;
|
||||
author_association: string;
|
||||
};
|
Loading…
Reference in New Issue
Block a user