GitHub Shared
Common GitHub webhook types: User, Repository, Organization, Label, Milestone, and AuthorAssociation.
github
Install
$ npx shadcn@latest add @open-types/github-shared
Source
export interface GitHubUser {
login: string;
id: number;
node_id: string;
avatar_url: string;
url: string;
html_url: string;
type: string;
site_admin: boolean;
}
export interface GitHubRepository {
id: number;
node_id: string;
name: string;
full_name: string;
private: boolean;
owner: GitHubUser;
html_url: string;
description: string | null;
fork: boolean;
url: string;
default_branch: string;
}
export interface GitHubOrganization {
login: string;
id: number;
node_id: string;
url: string;
avatar_url: string;
description: string | null;
}
export interface GitHubLabel {
id: number;
node_id: string;
url: string;
name: string;
color: string;
description: string | null;
default: boolean;
}
export type GitHubMilestoneState = "open" | "closed";
export interface GitHubMilestone {
id: number;
node_id: string;
number: number;
title: string;
description: string | null;
state: GitHubMilestoneState;
open_issues: number;
closed_issues: number;
created_at: string;
updated_at: string;
closed_at: string | null;
due_on: string | null;
}
export type GitHubAuthorAssociation =
| "COLLABORATOR"
| "CONTRIBUTOR"
| "FIRST_TIMER"
| "FIRST_TIME_CONTRIBUTOR"
| "MANNEQUIN"
| "MEMBER"
| "NONE"
| "OWNER";
export interface GitHubUser {
login: string;
id: number;
node_id: string;
avatar_url: string;
url: string;
html_url: string;
type: string;
site_admin: boolean;
}
export interface GitHubRepository {
id: number;
node_id: string;
name: string;
full_name: string;
private: boolean;
owner: GitHubUser;
html_url: string;
description: string | null;
fork: boolean;
url: string;
default_branch: string;
}
export interface GitHubOrganization {
login: string;
id: number;
node_id: string;
url: string;
avatar_url: string;
description: string | null;
}
export interface GitHubLabel {
id: number;
node_id: string;
url: string;
name: string;
color: string;
description: string | null;
default: boolean;
}
export type GitHubMilestoneState = "open" | "closed";
export interface GitHubMilestone {
id: number;
node_id: string;
number: number;
title: string;
description: string | null;
state: GitHubMilestoneState;
open_issues: number;
closed_issues: number;
created_at: string;
updated_at: string;
closed_at: string | null;
due_on: string | null;
}
export type GitHubAuthorAssociation =
| "COLLABORATOR"
| "CONTRIBUTOR"
| "FIRST_TIMER"
| "FIRST_TIME_CONTRIBUTOR"
| "MANNEQUIN"
| "MEMBER"
| "NONE"
| "OWNER";