UNPKG

72.6 kBTypeScriptView Raw
1import { Octokit, RestEndpointMethodTypes } from "@octokit/rest";
2import { HttpsProxyAgent } from "https-proxy-agent";
3import { ILabelDefinition } from "./release";
4import { ILogger } from "./utils/logger";
5import { ICommit } from "./log-parse";
6declare type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>> & Partial<Pick<T, K>>;
7export declare type IPRInfo = Omit<RestEndpointMethodTypes["repos"]["createStatus"]["parameters"], "owner" | "repo">;
8export interface IGitOptions {
9 /** Github repo owner (user) */
10 owner: string;
11 /** GitHub project to operate on */
12 repo: string;
13 /** The URL to the GitHub (public or enterprise) the project is using */
14 baseUrl?: string;
15 /** The main branch of the repo. Usually master */
16 baseBranch: string;
17 /** The URL to the GitHub graphql API (public or enterprise) the project is using */
18 graphqlBaseUrl?: string;
19 /** A token to auth to GitHub with */
20 token?: string;
21 /** An optional proxy agent to route requests through */
22 agent?: HttpsProxyAgent;
23}
24/**
25 * A class to interact with the local git instance and the git remote.
26 * currently it only interfaces with GitHub.
27 */
28export default class Git {
29 /** An octokit instance to use to interact with GitHub */
30 readonly github: Octokit;
31 /** Options the git client was initialized with */
32 readonly options: IGitOptions;
33 /** The GitHub api to communicate with through octokit */
34 private readonly baseUrl;
35 /** The GitHub graphql api to communicate with through octokit */
36 private readonly graphqlBaseUrl;
37 /** A logger that uses log levels */
38 private readonly logger;
39 /** Initialize the git interface and auth with GitHub */
40 constructor(options: IGitOptions, logger?: ILogger);
41 /** Verify the write access authorization to remote repository with push dry-run. */
42 verifyAuth(url: string): Promise<boolean>;
43 /** Get the "Latest Release" from GitHub */
44 getLatestReleaseInfo(): Promise<{
45 url: string;
46 html_url: string;
47 assets_url: string;
48 upload_url: string;
49 tarball_url: string;
50 zipball_url: string;
51 id: number;
52 node_id: string;
53 tag_name: string;
54 target_commitish: string;
55 name: string;
56 body: string;
57 draft: boolean;
58 prerelease: boolean;
59 created_at: string;
60 published_at: string;
61 author: {
62 login: string;
63 id: number;
64 node_id: string;
65 avatar_url: string;
66 gravatar_id: string;
67 url: string;
68 html_url: string;
69 followers_url: string;
70 following_url: string;
71 gists_url: string;
72 starred_url: string;
73 subscriptions_url: string;
74 organizations_url: string;
75 repos_url: string;
76 events_url: string;
77 received_events_url: string;
78 type: string;
79 site_admin: boolean;
80 };
81 assets: {
82 url: string;
83 browser_download_url: string;
84 id: number;
85 node_id: string;
86 name: string;
87 label: string;
88 state: string;
89 content_type: string;
90 size: number;
91 download_count: number;
92 created_at: string;
93 updated_at: string;
94 uploader: {
95 login: string;
96 id: number;
97 node_id: string;
98 avatar_url: string;
99 gravatar_id: string;
100 url: string;
101 html_url: string;
102 followers_url: string;
103 following_url: string;
104 gists_url: string;
105 starred_url: string;
106 subscriptions_url: string;
107 organizations_url: string;
108 repos_url: string;
109 events_url: string;
110 received_events_url: string;
111 type: string;
112 site_admin: boolean;
113 };
114 }[];
115 }>;
116 /** Get the "Latest Release" or the first commit SHA as a fallback */
117 getLatestRelease(): Promise<string>;
118 /** Get the date a commit sha was created */
119 getCommitDate(sha: string): Promise<string>;
120 /** Get the first commit for the repo */
121 getFirstCommit(): Promise<string>;
122 /** Get the SHA of the latest commit */
123 getSha(short?: boolean): Promise<string>;
124 /** Get the SHA of the latest commit */
125 shaExists(sha?: string): Promise<boolean>;
126 /** Get the labels for a PR */
127 getLabels(prNumber: number): Promise<string[]>;
128 /** Get all the information about a PR or issue */
129 getPr(prNumber: number): Promise<import("@octokit/types").OctokitResponse<{
130 id: number;
131 node_id: string;
132 url: string;
133 repository_url: string;
134 labels_url: string;
135 comments_url: string;
136 events_url: string;
137 html_url: string;
138 number: number;
139 state: string;
140 title: string;
141 body: string;
142 user: {
143 login: string;
144 id: number;
145 node_id: string;
146 avatar_url: string;
147 gravatar_id: string;
148 url: string;
149 html_url: string;
150 followers_url: string;
151 following_url: string;
152 gists_url: string;
153 starred_url: string;
154 subscriptions_url: string;
155 organizations_url: string;
156 repos_url: string;
157 events_url: string;
158 received_events_url: string;
159 type: string;
160 site_admin: boolean;
161 };
162 labels: {
163 id: number;
164 node_id: string;
165 url: string;
166 name: string;
167 description: string;
168 color: string;
169 default: boolean;
170 }[];
171 assignee: {
172 login: string;
173 id: number;
174 node_id: string;
175 avatar_url: string;
176 gravatar_id: string;
177 url: string;
178 html_url: string;
179 followers_url: string;
180 following_url: string;
181 gists_url: string;
182 starred_url: string;
183 subscriptions_url: string;
184 organizations_url: string;
185 repos_url: string;
186 events_url: string;
187 received_events_url: string;
188 type: string;
189 site_admin: boolean;
190 };
191 assignees: {
192 login: string;
193 id: number;
194 node_id: string;
195 avatar_url: string;
196 gravatar_id: string;
197 url: string;
198 html_url: string;
199 followers_url: string;
200 following_url: string;
201 gists_url: string;
202 starred_url: string;
203 subscriptions_url: string;
204 organizations_url: string;
205 repos_url: string;
206 events_url: string;
207 received_events_url: string;
208 type: string;
209 site_admin: boolean;
210 }[];
211 milestone: {
212 url: string;
213 html_url: string;
214 labels_url: string;
215 id: number;
216 node_id: string;
217 number: number;
218 state: string;
219 title: string;
220 description: string;
221 creator: {
222 login: string;
223 id: number;
224 node_id: string;
225 avatar_url: string;
226 gravatar_id: string;
227 url: string;
228 html_url: string;
229 followers_url: string;
230 following_url: string;
231 gists_url: string;
232 starred_url: string;
233 subscriptions_url: string;
234 organizations_url: string;
235 repos_url: string;
236 events_url: string;
237 received_events_url: string;
238 type: string;
239 site_admin: boolean;
240 };
241 open_issues: number;
242 closed_issues: number;
243 created_at: string;
244 updated_at: string;
245 closed_at: string;
246 due_on: string;
247 };
248 locked: boolean;
249 active_lock_reason: string;
250 comments: number;
251 pull_request: {
252 url: string;
253 html_url: string;
254 diff_url: string;
255 patch_url: string;
256 };
257 closed_at: null;
258 created_at: string;
259 updated_at: string;
260 closed_by: {
261 login: string;
262 id: number;
263 node_id: string;
264 avatar_url: string;
265 gravatar_id: string;
266 url: string;
267 html_url: string;
268 followers_url: string;
269 following_url: string;
270 gists_url: string;
271 starred_url: string;
272 subscriptions_url: string;
273 organizations_url: string;
274 repos_url: string;
275 events_url: string;
276 received_events_url: string;
277 type: string;
278 site_admin: boolean;
279 };
280 }>>;
281 /** Get information about specific commit */
282 getCommit(sha: string): Promise<import("@octokit/types").OctokitResponse<{
283 url: string;
284 sha: string;
285 node_id: string;
286 html_url: string;
287 comments_url: string;
288 commit: {
289 url: string;
290 author: {
291 name: string;
292 email: string;
293 date: string;
294 };
295 committer: {
296 name: string;
297 email: string;
298 date: string;
299 };
300 message: string;
301 tree: {
302 url: string;
303 sha: string;
304 };
305 comment_count: number;
306 verification: {
307 verified: boolean;
308 reason: string;
309 signature: null;
310 payload: null;
311 };
312 };
313 author: {
314 login: string;
315 id: number;
316 node_id: string;
317 avatar_url: string;
318 gravatar_id: string;
319 url: string;
320 html_url: string;
321 followers_url: string;
322 following_url: string;
323 gists_url: string;
324 starred_url: string;
325 subscriptions_url: string;
326 organizations_url: string;
327 repos_url: string;
328 events_url: string;
329 received_events_url: string;
330 type: string;
331 site_admin: boolean;
332 };
333 committer: {
334 login: string;
335 id: number;
336 node_id: string;
337 avatar_url: string;
338 gravatar_id: string;
339 url: string;
340 html_url: string;
341 followers_url: string;
342 following_url: string;
343 gists_url: string;
344 starred_url: string;
345 subscriptions_url: string;
346 organizations_url: string;
347 repos_url: string;
348 events_url: string;
349 received_events_url: string;
350 type: string;
351 site_admin: boolean;
352 };
353 parents: {
354 url: string;
355 sha: string;
356 }[];
357 stats: {
358 additions: number;
359 deletions: number;
360 total: number;
361 };
362 files: {
363 filename: string;
364 additions: number;
365 deletions: number;
366 changes: number;
367 status: string;
368 raw_url: string;
369 blob_url: string;
370 patch: string;
371 }[];
372 }>>;
373 /** Get the labels for a the project */
374 getProjectLabels(): Promise<string[]>;
375 /** Get the git log for a range of commits */
376 getGitLog(start: string, end?: string): Promise<ICommit[]>;
377 /** Get the GitHub user for an email. Will not work if they do not have their email set to "public". */
378 getUserByEmail(email: string): Promise<{} | undefined>;
379 /** Get collaborator permission level to the repo. */
380 getTokenPermissionLevel(): Promise<{
381 permission: string;
382 user?: undefined;
383 } | {
384 permission: string;
385 user: {
386 login: string;
387 id: number;
388 node_id: string;
389 avatar_url: string;
390 gravatar_id: string;
391 url: string;
392 html_url: string;
393 followers_url: string;
394 following_url: string;
395 gists_url: string;
396 starred_url: string;
397 subscriptions_url: string;
398 organizations_url: string;
399 repos_url: string;
400 events_url: string;
401 received_events_url: string;
402 type: string;
403 site_admin: boolean;
404 name: string;
405 company: string;
406 blog: string;
407 location: string;
408 email: string;
409 hireable: boolean;
410 bio: string;
411 public_repos: number;
412 public_gists: number;
413 followers: number;
414 following: number;
415 created_at: string;
416 updated_at: string;
417 private_gists?: number | undefined;
418 total_private_repos?: number | undefined;
419 owned_private_repos?: number | undefined;
420 disk_usage?: number | undefined;
421 collaborators?: number | undefined;
422 two_factor_authentication?: boolean | undefined;
423 plan?: {
424 name: string;
425 space: number;
426 private_repos: number;
427 collaborators: number;
428 } | undefined;
429 };
430 }>;
431 /** Get the GitHub user for a username */
432 getUserByUsername(username: string): Promise<{
433 login: string;
434 id: number;
435 node_id: string;
436 avatar_url: string;
437 gravatar_id: string;
438 url: string;
439 html_url: string;
440 followers_url: string;
441 following_url: string;
442 gists_url: string;
443 starred_url: string;
444 subscriptions_url: string;
445 organizations_url: string;
446 repos_url: string;
447 events_url: string;
448 received_events_url: string;
449 type: string;
450 site_admin: boolean;
451 name: string;
452 company: string;
453 blog: string;
454 location: string;
455 email: string;
456 hireable: boolean;
457 bio: string;
458 public_repos: number;
459 public_gists: number;
460 followers: number;
461 following: number;
462 created_at: string;
463 updated_at: string;
464 plan?: {
465 name: string;
466 space: number;
467 collaborators: number;
468 private_repos: number;
469 } | undefined;
470 } | undefined>;
471 /** Get all the information about a PR or issue */
472 getPullRequest(pr: number): Promise<import("@octokit/types").OctokitResponse<{
473 url: string;
474 id: number;
475 node_id: string;
476 html_url: string;
477 diff_url: string;
478 patch_url: string;
479 issue_url: string;
480 commits_url: string;
481 review_comments_url: string;
482 review_comment_url: string;
483 comments_url: string;
484 statuses_url: string;
485 number: number;
486 state: string;
487 locked: boolean;
488 title: string;
489 user: {
490 login: string;
491 id: number;
492 node_id: string;
493 avatar_url: string;
494 gravatar_id: string;
495 url: string;
496 html_url: string;
497 followers_url: string;
498 following_url: string;
499 gists_url: string;
500 starred_url: string;
501 subscriptions_url: string;
502 organizations_url: string;
503 repos_url: string;
504 events_url: string;
505 received_events_url: string;
506 type: string;
507 site_admin: boolean;
508 };
509 body: string;
510 labels: {
511 id: number;
512 node_id: string;
513 url: string;
514 name: string;
515 description: string;
516 color: string;
517 default: boolean;
518 }[];
519 milestone: {
520 url: string;
521 html_url: string;
522 labels_url: string;
523 id: number;
524 node_id: string;
525 number: number;
526 state: string;
527 title: string;
528 description: string;
529 creator: {
530 login: string;
531 id: number;
532 node_id: string;
533 avatar_url: string;
534 gravatar_id: string;
535 url: string;
536 html_url: string;
537 followers_url: string;
538 following_url: string;
539 gists_url: string;
540 starred_url: string;
541 subscriptions_url: string;
542 organizations_url: string;
543 repos_url: string;
544 events_url: string;
545 received_events_url: string;
546 type: string;
547 site_admin: boolean;
548 };
549 open_issues: number;
550 closed_issues: number;
551 created_at: string;
552 updated_at: string;
553 closed_at: string;
554 due_on: string;
555 };
556 active_lock_reason: string;
557 created_at: string;
558 updated_at: string;
559 closed_at: string;
560 merged_at: string;
561 merge_commit_sha: string;
562 assignee: {
563 login: string;
564 id: number;
565 node_id: string;
566 avatar_url: string;
567 gravatar_id: string;
568 url: string;
569 html_url: string;
570 followers_url: string;
571 following_url: string;
572 gists_url: string;
573 starred_url: string;
574 subscriptions_url: string;
575 organizations_url: string;
576 repos_url: string;
577 events_url: string;
578 received_events_url: string;
579 type: string;
580 site_admin: boolean;
581 };
582 assignees: {
583 login: string;
584 id: number;
585 node_id: string;
586 avatar_url: string;
587 gravatar_id: string;
588 url: string;
589 html_url: string;
590 followers_url: string;
591 following_url: string;
592 gists_url: string;
593 starred_url: string;
594 subscriptions_url: string;
595 organizations_url: string;
596 repos_url: string;
597 events_url: string;
598 received_events_url: string;
599 type: string;
600 site_admin: boolean;
601 }[];
602 requested_reviewers: {
603 login: string;
604 id: number;
605 node_id: string;
606 avatar_url: string;
607 gravatar_id: string;
608 url: string;
609 html_url: string;
610 followers_url: string;
611 following_url: string;
612 gists_url: string;
613 starred_url: string;
614 subscriptions_url: string;
615 organizations_url: string;
616 repos_url: string;
617 events_url: string;
618 received_events_url: string;
619 type: string;
620 site_admin: boolean;
621 }[];
622 requested_teams: {
623 id: number;
624 node_id: string;
625 url: string;
626 html_url: string;
627 name: string;
628 slug: string;
629 description: string;
630 privacy: string;
631 permission: string;
632 members_url: string;
633 repositories_url: string;
634 parent: null;
635 }[];
636 head: {
637 label: string;
638 ref: string;
639 sha: string;
640 user: {
641 login: string;
642 id: number;
643 node_id: string;
644 avatar_url: string;
645 gravatar_id: string;
646 url: string;
647 html_url: string;
648 followers_url: string;
649 following_url: string;
650 gists_url: string;
651 starred_url: string;
652 subscriptions_url: string;
653 organizations_url: string;
654 repos_url: string;
655 events_url: string;
656 received_events_url: string;
657 type: string;
658 site_admin: boolean;
659 };
660 repo: {
661 id: number;
662 node_id: string;
663 name: string;
664 full_name: string;
665 owner: {
666 login: string;
667 id: number;
668 node_id: string;
669 avatar_url: string;
670 gravatar_id: string;
671 url: string;
672 html_url: string;
673 followers_url: string;
674 following_url: string;
675 gists_url: string;
676 starred_url: string;
677 subscriptions_url: string;
678 organizations_url: string;
679 repos_url: string;
680 events_url: string;
681 received_events_url: string;
682 type: string;
683 site_admin: boolean;
684 };
685 private: boolean;
686 html_url: string;
687 description: string;
688 fork: boolean;
689 url: string;
690 archive_url: string;
691 assignees_url: string;
692 blobs_url: string;
693 branches_url: string;
694 collaborators_url: string;
695 comments_url: string;
696 commits_url: string;
697 compare_url: string;
698 contents_url: string;
699 contributors_url: string;
700 deployments_url: string;
701 downloads_url: string;
702 events_url: string;
703 forks_url: string;
704 git_commits_url: string;
705 git_refs_url: string;
706 git_tags_url: string;
707 git_url: string;
708 issue_comment_url: string;
709 issue_events_url: string;
710 issues_url: string;
711 keys_url: string;
712 labels_url: string;
713 languages_url: string;
714 merges_url: string;
715 milestones_url: string;
716 notifications_url: string;
717 pulls_url: string;
718 releases_url: string;
719 ssh_url: string;
720 stargazers_url: string;
721 statuses_url: string;
722 subscribers_url: string;
723 subscription_url: string;
724 tags_url: string;
725 teams_url: string;
726 trees_url: string;
727 clone_url: string;
728 mirror_url: string;
729 hooks_url: string;
730 svn_url: string;
731 homepage: string;
732 language: null;
733 forks_count: number;
734 stargazers_count: number;
735 watchers_count: number;
736 size: number;
737 default_branch: string;
738 open_issues_count: number;
739 is_template: boolean;
740 topics: string[];
741 has_issues: boolean;
742 has_projects: boolean;
743 has_wiki: boolean;
744 has_pages: boolean;
745 has_downloads: boolean;
746 archived: boolean;
747 disabled: boolean;
748 visibility: string;
749 pushed_at: string;
750 created_at: string;
751 updated_at: string;
752 permissions: {
753 admin: boolean;
754 push: boolean;
755 pull: boolean;
756 };
757 allow_rebase_merge: boolean;
758 template_repository: null;
759 temp_clone_token: string;
760 allow_squash_merge: boolean;
761 allow_merge_commit: boolean;
762 subscribers_count: number;
763 network_count: number;
764 };
765 };
766 base: {
767 label: string;
768 ref: string;
769 sha: string;
770 user: {
771 login: string;
772 id: number;
773 node_id: string;
774 avatar_url: string;
775 gravatar_id: string;
776 url: string;
777 html_url: string;
778 followers_url: string;
779 following_url: string;
780 gists_url: string;
781 starred_url: string;
782 subscriptions_url: string;
783 organizations_url: string;
784 repos_url: string;
785 events_url: string;
786 received_events_url: string;
787 type: string;
788 site_admin: boolean;
789 };
790 repo: {
791 id: number;
792 node_id: string;
793 name: string;
794 full_name: string;
795 owner: {
796 login: string;
797 id: number;
798 node_id: string;
799 avatar_url: string;
800 gravatar_id: string;
801 url: string;
802 html_url: string;
803 followers_url: string;
804 following_url: string;
805 gists_url: string;
806 starred_url: string;
807 subscriptions_url: string;
808 organizations_url: string;
809 repos_url: string;
810 events_url: string;
811 received_events_url: string;
812 type: string;
813 site_admin: boolean;
814 };
815 private: boolean;
816 html_url: string;
817 description: string;
818 fork: boolean;
819 url: string;
820 archive_url: string;
821 assignees_url: string;
822 blobs_url: string;
823 branches_url: string;
824 collaborators_url: string;
825 comments_url: string;
826 commits_url: string;
827 compare_url: string;
828 contents_url: string;
829 contributors_url: string;
830 deployments_url: string;
831 downloads_url: string;
832 events_url: string;
833 forks_url: string;
834 git_commits_url: string;
835 git_refs_url: string;
836 git_tags_url: string;
837 git_url: string;
838 issue_comment_url: string;
839 issue_events_url: string;
840 issues_url: string;
841 keys_url: string;
842 labels_url: string;
843 languages_url: string;
844 merges_url: string;
845 milestones_url: string;
846 notifications_url: string;
847 pulls_url: string;
848 releases_url: string;
849 ssh_url: string;
850 stargazers_url: string;
851 statuses_url: string;
852 subscribers_url: string;
853 subscription_url: string;
854 tags_url: string;
855 teams_url: string;
856 trees_url: string;
857 clone_url: string;
858 mirror_url: string;
859 hooks_url: string;
860 svn_url: string;
861 homepage: string;
862 language: null;
863 forks_count: number;
864 stargazers_count: number;
865 watchers_count: number;
866 size: number;
867 default_branch: string;
868 open_issues_count: number;
869 is_template: boolean;
870 topics: string[];
871 has_issues: boolean;
872 has_projects: boolean;
873 has_wiki: boolean;
874 has_pages: boolean;
875 has_downloads: boolean;
876 archived: boolean;
877 disabled: boolean;
878 visibility: string;
879 pushed_at: string;
880 created_at: string;
881 updated_at: string;
882 permissions: {
883 admin: boolean;
884 push: boolean;
885 pull: boolean;
886 };
887 allow_rebase_merge: boolean;
888 template_repository: null;
889 temp_clone_token: string;
890 allow_squash_merge: boolean;
891 allow_merge_commit: boolean;
892 subscribers_count: number;
893 network_count: number;
894 };
895 };
896 _links: {
897 self: {
898 href: string;
899 };
900 html: {
901 href: string;
902 };
903 issue: {
904 href: string;
905 };
906 comments: {
907 href: string;
908 };
909 review_comments: {
910 href: string;
911 };
912 review_comment: {
913 href: string;
914 };
915 commits: {
916 href: string;
917 };
918 statuses: {
919 href: string;
920 };
921 };
922 author_association: string;
923 draft: boolean;
924 merged: boolean;
925 mergeable: boolean;
926 rebaseable: boolean;
927 mergeable_state: string;
928 merged_by: {
929 login: string;
930 id: number;
931 node_id: string;
932 avatar_url: string;
933 gravatar_id: string;
934 url: string;
935 html_url: string;
936 followers_url: string;
937 following_url: string;
938 gists_url: string;
939 starred_url: string;
940 subscriptions_url: string;
941 organizations_url: string;
942 repos_url: string;
943 events_url: string;
944 received_events_url: string;
945 type: string;
946 site_admin: boolean;
947 };
948 comments: number;
949 review_comments: number;
950 maintainer_can_modify: boolean;
951 commits: number;
952 additions: number;
953 deletions: number;
954 changed_files: number;
955 }>>;
956 /** Search to GitHub project's issue and pull requests */
957 searchRepo(options: RestEndpointMethodTypes["search"]["issuesAndPullRequests"]["parameters"]): Promise<{
958 total_count: number;
959 incomplete_results: boolean;
960 items: {
961 url: string;
962 repository_url: string;
963 labels_url: string;
964 comments_url: string;
965 events_url: string;
966 html_url: string;
967 id: number;
968 node_id: string;
969 number: number;
970 title: string;
971 user: {
972 login: string;
973 id: number;
974 node_id: string;
975 avatar_url: string;
976 gravatar_id: string;
977 url: string;
978 html_url: string;
979 followers_url: string;
980 following_url: string;
981 gists_url: string;
982 starred_url: string;
983 subscriptions_url: string;
984 organizations_url: string;
985 repos_url: string;
986 events_url: string;
987 received_events_url: string;
988 type: string;
989 };
990 labels: {
991 id: number;
992 node_id: string;
993 url: string;
994 name: string;
995 color: string;
996 }[];
997 state: string;
998 assignee: null;
999 milestone: null;
1000 comments: number;
1001 created_at: string;
1002 updated_at: string;
1003 closed_at: null;
1004 pull_request: {
1005 html_url: null;
1006 diff_url: null;
1007 patch_url: null;
1008 };
1009 body: string;
1010 score: number;
1011 }[];
1012 }>;
1013 /** Run a graphql query on the GitHub project */
1014 graphql(query: string): Promise<import("@octokit/graphql/dist-types/types").GraphQlQueryResponseData>;
1015 /** Create a status (or checkmark) on a commit */
1016 createStatus(prInfo: IPRInfo): Promise<import("@octokit/types").OctokitResponse<{
1017 url: string;
1018 avatar_url: string;
1019 id: number;
1020 node_id: string;
1021 state: string;
1022 description: string;
1023 target_url: string;
1024 context: string;
1025 created_at: string;
1026 updated_at: string;
1027 creator: {
1028 login: string;
1029 id: number;
1030 node_id: string;
1031 avatar_url: string;
1032 gravatar_id: string;
1033 url: string;
1034 html_url: string;
1035 followers_url: string;
1036 following_url: string;
1037 gists_url: string;
1038 starred_url: string;
1039 subscriptions_url: string;
1040 organizations_url: string;
1041 repos_url: string;
1042 events_url: string;
1043 received_events_url: string;
1044 type: string;
1045 site_admin: boolean;
1046 };
1047 }>>;
1048 /** Add a label to the project */
1049 createLabel(label: ILabelDefinition): Promise<import("@octokit/types").OctokitResponse<{
1050 id: number;
1051 node_id: string;
1052 url: string;
1053 name: string;
1054 description: string;
1055 color: string;
1056 default: boolean;
1057 }>>;
1058 /** Update a label on the project */
1059 updateLabel(label: ILabelDefinition): Promise<import("@octokit/types").OctokitResponse<{
1060 id: number;
1061 node_id: string;
1062 url: string;
1063 name: string;
1064 description: string;
1065 color: string;
1066 default: boolean;
1067 }>>;
1068 /** Add a label to and issue or pull request */
1069 addLabelToPr(pr: number, label: string): Promise<import("@octokit/types").OctokitResponse<{
1070 id: number;
1071 node_id: string;
1072 url: string;
1073 name: string;
1074 description: string;
1075 color: string;
1076 default: boolean;
1077 }[]>>;
1078 /** Add a label to and issue or pull request */
1079 removeLabel(pr: number, label: string): Promise<import("@octokit/types").OctokitResponse<{
1080 id: number;
1081 node_id: string;
1082 url: string;
1083 name: string;
1084 description: string;
1085 color: string;
1086 default: boolean;
1087 }[]>>;
1088 /** Lock an issue */
1089 lockIssue(issue: number): Promise<import("@octokit/types").OctokitResponse<any>>;
1090 /** Get information about the GitHub project */
1091 getProject(): Promise<{
1092 id: number;
1093 node_id: string;
1094 name: string;
1095 full_name: string;
1096 owner: {
1097 login: string;
1098 id: number;
1099 node_id: string;
1100 avatar_url: string;
1101 gravatar_id: string;
1102 url: string;
1103 html_url: string;
1104 followers_url: string;
1105 following_url: string;
1106 gists_url: string;
1107 starred_url: string;
1108 subscriptions_url: string;
1109 organizations_url: string;
1110 repos_url: string;
1111 events_url: string;
1112 received_events_url: string;
1113 type: string;
1114 site_admin: boolean;
1115 };
1116 private: boolean;
1117 html_url: string;
1118 description: string | null;
1119 fork: boolean;
1120 url: string;
1121 archive_url: string;
1122 assignees_url: string;
1123 blobs_url: string;
1124 branches_url: string;
1125 collaborators_url: string;
1126 comments_url: string;
1127 commits_url: string;
1128 compare_url: string;
1129 contents_url: string;
1130 contributors_url: string;
1131 deployments_url: string;
1132 downloads_url: string;
1133 events_url: string;
1134 forks_url: string;
1135 git_commits_url: string;
1136 git_refs_url: string;
1137 git_tags_url: string;
1138 git_url: string;
1139 issue_comment_url: string;
1140 issue_events_url: string;
1141 issues_url: string;
1142 keys_url: string;
1143 labels_url: string;
1144 languages_url: string;
1145 merges_url: string;
1146 milestones_url: string;
1147 notifications_url: string;
1148 pulls_url: string;
1149 releases_url: string;
1150 ssh_url: string;
1151 stargazers_url: string;
1152 statuses_url: string;
1153 subscribers_url: string;
1154 subscription_url: string;
1155 tags_url: string;
1156 teams_url: string;
1157 trees_url: string;
1158 clone_url: string;
1159 mirror_url: string | null;
1160 hooks_url: string;
1161 svn_url: string;
1162 homepage: string | null;
1163 language: null;
1164 forks_count: number;
1165 stargazers_count: number;
1166 watchers_count: number;
1167 size: number;
1168 default_branch: string;
1169 open_issues_count: number;
1170 is_template?: boolean | undefined;
1171 topics?: string[] | undefined;
1172 has_issues: boolean;
1173 has_projects: boolean;
1174 has_wiki: boolean;
1175 has_pages: boolean;
1176 has_downloads: boolean;
1177 archived?: boolean | undefined;
1178 disabled?: boolean | undefined;
1179 visibility?: string | undefined;
1180 pushed_at: string;
1181 created_at: string;
1182 updated_at: string;
1183 permissions?: {
1184 pull: boolean;
1185 triage: boolean;
1186 push: boolean;
1187 maintain: boolean;
1188 admin: boolean;
1189 } | undefined;
1190 allow_rebase_merge?: boolean | undefined;
1191 template_repository?: null | undefined;
1192 temp_clone_token?: string | undefined;
1193 allow_squash_merge?: boolean | undefined;
1194 allow_merge_commit?: boolean | undefined;
1195 subscribers_count: number;
1196 network_count: number;
1197 license?: {
1198 key: string;
1199 name: string;
1200 spdx_id: string;
1201 url: string;
1202 node_id: string;
1203 } | undefined;
1204 organization?: {
1205 login: string;
1206 id: number;
1207 node_id: string;
1208 avatar_url: string;
1209 gravatar_id: string;
1210 url: string;
1211 html_url: string;
1212 followers_url: string;
1213 following_url: string;
1214 gists_url: string;
1215 starred_url: string;
1216 subscriptions_url: string;
1217 organizations_url: string;
1218 repos_url: string;
1219 events_url: string;
1220 received_events_url: string;
1221 type: string;
1222 site_admin: boolean;
1223 } | undefined;
1224 parent?: {
1225 id: number;
1226 node_id: string;
1227 name: string;
1228 full_name: string;
1229 owner: {
1230 login: string;
1231 id: number;
1232 node_id: string;
1233 avatar_url: string;
1234 gravatar_id: string;
1235 url: string;
1236 html_url: string;
1237 followers_url: string;
1238 following_url: string;
1239 gists_url: string;
1240 starred_url: string;
1241 subscriptions_url: string;
1242 organizations_url: string;
1243 repos_url: string;
1244 events_url: string;
1245 received_events_url: string;
1246 type: string;
1247 site_admin: boolean;
1248 };
1249 private: boolean;
1250 html_url: string;
1251 description: string;
1252 fork: boolean;
1253 url: string;
1254 archive_url: string;
1255 assignees_url: string;
1256 blobs_url: string;
1257 branches_url: string;
1258 collaborators_url: string;
1259 comments_url: string;
1260 commits_url: string;
1261 compare_url: string;
1262 contents_url: string;
1263 contributors_url: string;
1264 deployments_url: string;
1265 downloads_url: string;
1266 events_url: string;
1267 forks_url: string;
1268 git_commits_url: string;
1269 git_refs_url: string;
1270 git_tags_url: string;
1271 git_url: string;
1272 issue_comment_url: string;
1273 issue_events_url: string;
1274 issues_url: string;
1275 keys_url: string;
1276 labels_url: string;
1277 languages_url: string;
1278 merges_url: string;
1279 milestones_url: string;
1280 notifications_url: string;
1281 pulls_url: string;
1282 releases_url: string;
1283 ssh_url: string;
1284 stargazers_url: string;
1285 statuses_url: string;
1286 subscribers_url: string;
1287 subscription_url: string;
1288 tags_url: string;
1289 teams_url: string;
1290 trees_url: string;
1291 clone_url: string;
1292 mirror_url: string;
1293 hooks_url: string;
1294 svn_url: string;
1295 homepage: string;
1296 language: null;
1297 forks_count: number;
1298 stargazers_count: number;
1299 watchers_count: number;
1300 size: number;
1301 default_branch: string;
1302 open_issues_count: number;
1303 is_template: boolean;
1304 topics: string[];
1305 has_issues: boolean;
1306 has_projects: boolean;
1307 has_wiki: boolean;
1308 has_pages: boolean;
1309 has_downloads: boolean;
1310 archived: boolean;
1311 disabled: boolean;
1312 visibility: string;
1313 pushed_at: string;
1314 created_at: string;
1315 updated_at: string;
1316 permissions: {
1317 admin: boolean;
1318 push: boolean;
1319 pull: boolean;
1320 };
1321 allow_rebase_merge: boolean;
1322 template_repository: null;
1323 temp_clone_token: string;
1324 allow_squash_merge: boolean;
1325 allow_merge_commit: boolean;
1326 subscribers_count: number;
1327 network_count: number;
1328 } | undefined;
1329 source?: {
1330 id: number;
1331 node_id: string;
1332 name: string;
1333 full_name: string;
1334 owner: {
1335 login: string;
1336 id: number;
1337 node_id: string;
1338 avatar_url: string;
1339 gravatar_id: string;
1340 url: string;
1341 html_url: string;
1342 followers_url: string;
1343 following_url: string;
1344 gists_url: string;
1345 starred_url: string;
1346 subscriptions_url: string;
1347 organizations_url: string;
1348 repos_url: string;
1349 events_url: string;
1350 received_events_url: string;
1351 type: string;
1352 site_admin: boolean;
1353 };
1354 private: boolean;
1355 html_url: string;
1356 description: string;
1357 fork: boolean;
1358 url: string;
1359 archive_url: string;
1360 assignees_url: string;
1361 blobs_url: string;
1362 branches_url: string;
1363 collaborators_url: string;
1364 comments_url: string;
1365 commits_url: string;
1366 compare_url: string;
1367 contents_url: string;
1368 contributors_url: string;
1369 deployments_url: string;
1370 downloads_url: string;
1371 events_url: string;
1372 forks_url: string;
1373 git_commits_url: string;
1374 git_refs_url: string;
1375 git_tags_url: string;
1376 git_url: string;
1377 issue_comment_url: string;
1378 issue_events_url: string;
1379 issues_url: string;
1380 keys_url: string;
1381 labels_url: string;
1382 languages_url: string;
1383 merges_url: string;
1384 milestones_url: string;
1385 notifications_url: string;
1386 pulls_url: string;
1387 releases_url: string;
1388 ssh_url: string;
1389 stargazers_url: string;
1390 statuses_url: string;
1391 subscribers_url: string;
1392 subscription_url: string;
1393 tags_url: string;
1394 teams_url: string;
1395 trees_url: string;
1396 clone_url: string;
1397 mirror_url: string;
1398 hooks_url: string;
1399 svn_url: string;
1400 homepage: string;
1401 language: null;
1402 forks_count: number;
1403 stargazers_count: number;
1404 watchers_count: number;
1405 size: number;
1406 default_branch: string;
1407 open_issues_count: number;
1408 is_template: boolean;
1409 topics: string[];
1410 has_issues: boolean;
1411 has_projects: boolean;
1412 has_wiki: boolean;
1413 has_pages: boolean;
1414 has_downloads: boolean;
1415 archived: boolean;
1416 disabled: boolean;
1417 visibility: string;
1418 pushed_at: string;
1419 created_at: string;
1420 updated_at: string;
1421 permissions: {
1422 admin: boolean;
1423 push: boolean;
1424 pull: boolean;
1425 };
1426 allow_rebase_merge: boolean;
1427 template_repository: null;
1428 temp_clone_token: string;
1429 allow_squash_merge: boolean;
1430 allow_merge_commit: boolean;
1431 subscribers_count: number;
1432 network_count: number;
1433 } | undefined;
1434 forks?: number | undefined;
1435 open_issues?: number | undefined;
1436 watchers?: number | undefined;
1437 code_of_conduct?: {
1438 key: string;
1439 name: string;
1440 url: string;
1441 } | undefined;
1442 }>;
1443 /** Get all the pull requests for a project */
1444 getPullRequests(options?: Partial<RestEndpointMethodTypes["pulls"]["list"]["parameters"]>): Promise<{
1445 url: string;
1446 id: number;
1447 node_id: string;
1448 html_url: string;
1449 diff_url: string;
1450 patch_url: string;
1451 issue_url: string;
1452 commits_url: string;
1453 review_comments_url: string;
1454 review_comment_url: string;
1455 comments_url: string;
1456 statuses_url: string;
1457 number: number;
1458 state: string;
1459 locked: boolean;
1460 title: string;
1461 user: {
1462 login: string;
1463 id: number;
1464 node_id: string;
1465 avatar_url: string;
1466 gravatar_id: string;
1467 url: string;
1468 html_url: string;
1469 followers_url: string;
1470 following_url: string;
1471 gists_url: string;
1472 starred_url: string;
1473 subscriptions_url: string;
1474 organizations_url: string;
1475 repos_url: string;
1476 events_url: string;
1477 received_events_url: string;
1478 type: string;
1479 site_admin: boolean;
1480 };
1481 body: string;
1482 labels: {
1483 id: number;
1484 node_id: string;
1485 url: string;
1486 name: string;
1487 description: string;
1488 color: string;
1489 default: boolean;
1490 }[];
1491 milestone: {
1492 url: string;
1493 html_url: string;
1494 labels_url: string;
1495 id: number;
1496 node_id: string;
1497 number: number;
1498 state: string;
1499 title: string;
1500 description: string;
1501 creator: {
1502 login: string;
1503 id: number;
1504 node_id: string;
1505 avatar_url: string;
1506 gravatar_id: string;
1507 url: string;
1508 html_url: string;
1509 followers_url: string;
1510 following_url: string;
1511 gists_url: string;
1512 starred_url: string;
1513 subscriptions_url: string;
1514 organizations_url: string;
1515 repos_url: string;
1516 events_url: string;
1517 received_events_url: string;
1518 type: string;
1519 site_admin: boolean;
1520 };
1521 open_issues: number;
1522 closed_issues: number;
1523 created_at: string;
1524 updated_at: string;
1525 closed_at: string;
1526 due_on: string;
1527 };
1528 active_lock_reason: string;
1529 created_at: string;
1530 updated_at: string;
1531 closed_at: string;
1532 merged_at: string;
1533 merge_commit_sha: string;
1534 assignee: {
1535 login: string;
1536 id: number;
1537 node_id: string;
1538 avatar_url: string;
1539 gravatar_id: string;
1540 url: string;
1541 html_url: string;
1542 followers_url: string;
1543 following_url: string;
1544 gists_url: string;
1545 starred_url: string;
1546 subscriptions_url: string;
1547 organizations_url: string;
1548 repos_url: string;
1549 events_url: string;
1550 received_events_url: string;
1551 type: string;
1552 site_admin: boolean;
1553 };
1554 assignees: {
1555 login: string;
1556 id: number;
1557 node_id: string;
1558 avatar_url: string;
1559 gravatar_id: string;
1560 url: string;
1561 html_url: string;
1562 followers_url: string;
1563 following_url: string;
1564 gists_url: string;
1565 starred_url: string;
1566 subscriptions_url: string;
1567 organizations_url: string;
1568 repos_url: string;
1569 events_url: string;
1570 received_events_url: string;
1571 type: string;
1572 site_admin: boolean;
1573 }[];
1574 requested_reviewers: {
1575 login: string;
1576 id: number;
1577 node_id: string;
1578 avatar_url: string;
1579 gravatar_id: string;
1580 url: string;
1581 html_url: string;
1582 followers_url: string;
1583 following_url: string;
1584 gists_url: string;
1585 starred_url: string;
1586 subscriptions_url: string;
1587 organizations_url: string;
1588 repos_url: string;
1589 events_url: string;
1590 received_events_url: string;
1591 type: string;
1592 site_admin: boolean;
1593 }[];
1594 requested_teams: {
1595 id: number;
1596 node_id: string;
1597 url: string;
1598 html_url: string;
1599 name: string;
1600 slug: string;
1601 description: string;
1602 privacy: string;
1603 permission: string;
1604 members_url: string;
1605 repositories_url: string;
1606 parent: null;
1607 }[];
1608 head: {
1609 label: string;
1610 ref: string;
1611 sha: string;
1612 user: {
1613 login: string;
1614 id: number;
1615 node_id: string;
1616 avatar_url: string;
1617 gravatar_id: string;
1618 url: string;
1619 html_url: string;
1620 followers_url: string;
1621 following_url: string;
1622 gists_url: string;
1623 starred_url: string;
1624 subscriptions_url: string;
1625 organizations_url: string;
1626 repos_url: string;
1627 events_url: string;
1628 received_events_url: string;
1629 type: string;
1630 site_admin: boolean;
1631 };
1632 repo: {
1633 id: number;
1634 node_id: string;
1635 name: string;
1636 full_name: string;
1637 owner: {
1638 login: string;
1639 id: number;
1640 node_id: string;
1641 avatar_url: string;
1642 gravatar_id: string;
1643 url: string;
1644 html_url: string;
1645 followers_url: string;
1646 following_url: string;
1647 gists_url: string;
1648 starred_url: string;
1649 subscriptions_url: string;
1650 organizations_url: string;
1651 repos_url: string;
1652 events_url: string;
1653 received_events_url: string;
1654 type: string;
1655 site_admin: boolean;
1656 };
1657 private: boolean;
1658 html_url: string;
1659 description: string;
1660 fork: boolean;
1661 url: string;
1662 archive_url: string;
1663 assignees_url: string;
1664 blobs_url: string;
1665 branches_url: string;
1666 collaborators_url: string;
1667 comments_url: string;
1668 commits_url: string;
1669 compare_url: string;
1670 contents_url: string;
1671 contributors_url: string;
1672 deployments_url: string;
1673 downloads_url: string;
1674 events_url: string;
1675 forks_url: string;
1676 git_commits_url: string;
1677 git_refs_url: string;
1678 git_tags_url: string;
1679 git_url: string;
1680 issue_comment_url: string;
1681 issue_events_url: string;
1682 issues_url: string;
1683 keys_url: string;
1684 labels_url: string;
1685 languages_url: string;
1686 merges_url: string;
1687 milestones_url: string;
1688 notifications_url: string;
1689 pulls_url: string;
1690 releases_url: string;
1691 ssh_url: string;
1692 stargazers_url: string;
1693 statuses_url: string;
1694 subscribers_url: string;
1695 subscription_url: string;
1696 tags_url: string;
1697 teams_url: string;
1698 trees_url: string;
1699 clone_url: string;
1700 mirror_url: string;
1701 hooks_url: string;
1702 svn_url: string;
1703 homepage: string;
1704 language: null;
1705 forks_count: number;
1706 stargazers_count: number;
1707 watchers_count: number;
1708 size: number;
1709 default_branch: string;
1710 open_issues_count: number;
1711 is_template: boolean;
1712 topics: string[];
1713 has_issues: boolean;
1714 has_projects: boolean;
1715 has_wiki: boolean;
1716 has_pages: boolean;
1717 has_downloads: boolean;
1718 archived: boolean;
1719 disabled: boolean;
1720 visibility: string;
1721 pushed_at: string;
1722 created_at: string;
1723 updated_at: string;
1724 permissions: {
1725 admin: boolean;
1726 push: boolean;
1727 pull: boolean;
1728 };
1729 allow_rebase_merge: boolean;
1730 template_repository: null;
1731 temp_clone_token: string;
1732 allow_squash_merge: boolean;
1733 allow_merge_commit: boolean;
1734 subscribers_count: number;
1735 network_count: number;
1736 };
1737 };
1738 base: {
1739 label: string;
1740 ref: string;
1741 sha: string;
1742 user: {
1743 login: string;
1744 id: number;
1745 node_id: string;
1746 avatar_url: string;
1747 gravatar_id: string;
1748 url: string;
1749 html_url: string;
1750 followers_url: string;
1751 following_url: string;
1752 gists_url: string;
1753 starred_url: string;
1754 subscriptions_url: string;
1755 organizations_url: string;
1756 repos_url: string;
1757 events_url: string;
1758 received_events_url: string;
1759 type: string;
1760 site_admin: boolean;
1761 };
1762 repo: {
1763 id: number;
1764 node_id: string;
1765 name: string;
1766 full_name: string;
1767 owner: {
1768 login: string;
1769 id: number;
1770 node_id: string;
1771 avatar_url: string;
1772 gravatar_id: string;
1773 url: string;
1774 html_url: string;
1775 followers_url: string;
1776 following_url: string;
1777 gists_url: string;
1778 starred_url: string;
1779 subscriptions_url: string;
1780 organizations_url: string;
1781 repos_url: string;
1782 events_url: string;
1783 received_events_url: string;
1784 type: string;
1785 site_admin: boolean;
1786 };
1787 private: boolean;
1788 html_url: string;
1789 description: string;
1790 fork: boolean;
1791 url: string;
1792 archive_url: string;
1793 assignees_url: string;
1794 blobs_url: string;
1795 branches_url: string;
1796 collaborators_url: string;
1797 comments_url: string;
1798 commits_url: string;
1799 compare_url: string;
1800 contents_url: string;
1801 contributors_url: string;
1802 deployments_url: string;
1803 downloads_url: string;
1804 events_url: string;
1805 forks_url: string;
1806 git_commits_url: string;
1807 git_refs_url: string;
1808 git_tags_url: string;
1809 git_url: string;
1810 issue_comment_url: string;
1811 issue_events_url: string;
1812 issues_url: string;
1813 keys_url: string;
1814 labels_url: string;
1815 languages_url: string;
1816 merges_url: string;
1817 milestones_url: string;
1818 notifications_url: string;
1819 pulls_url: string;
1820 releases_url: string;
1821 ssh_url: string;
1822 stargazers_url: string;
1823 statuses_url: string;
1824 subscribers_url: string;
1825 subscription_url: string;
1826 tags_url: string;
1827 teams_url: string;
1828 trees_url: string;
1829 clone_url: string;
1830 mirror_url: string;
1831 hooks_url: string;
1832 svn_url: string;
1833 homepage: string;
1834 language: null;
1835 forks_count: number;
1836 stargazers_count: number;
1837 watchers_count: number;
1838 size: number;
1839 default_branch: string;
1840 open_issues_count: number;
1841 is_template: boolean;
1842 topics: string[];
1843 has_issues: boolean;
1844 has_projects: boolean;
1845 has_wiki: boolean;
1846 has_pages: boolean;
1847 has_downloads: boolean;
1848 archived: boolean;
1849 disabled: boolean;
1850 visibility: string;
1851 pushed_at: string;
1852 created_at: string;
1853 updated_at: string;
1854 permissions: {
1855 admin: boolean;
1856 push: boolean;
1857 pull: boolean;
1858 };
1859 allow_rebase_merge: boolean;
1860 template_repository: null;
1861 temp_clone_token: string;
1862 allow_squash_merge: boolean;
1863 allow_merge_commit: boolean;
1864 subscribers_count: number;
1865 network_count: number;
1866 };
1867 };
1868 _links: {
1869 self: {
1870 href: string;
1871 };
1872 html: {
1873 href: string;
1874 };
1875 issue: {
1876 href: string;
1877 };
1878 comments: {
1879 href: string;
1880 };
1881 review_comments: {
1882 href: string;
1883 };
1884 review_comment: {
1885 href: string;
1886 };
1887 commits: {
1888 href: string;
1889 };
1890 statuses: {
1891 href: string;
1892 };
1893 };
1894 author_association: string;
1895 draft: boolean;
1896 }[]>;
1897 /** Get all the commits for a PR */
1898 getCommitsForPR(pr: number): Promise<{
1899 url: string;
1900 sha: string;
1901 node_id: string;
1902 html_url: string;
1903 comments_url: string;
1904 commit: {
1905 url: string;
1906 author: {
1907 name: string;
1908 email: string;
1909 date: string;
1910 };
1911 committer: {
1912 name: string;
1913 email: string;
1914 date: string;
1915 };
1916 message: string;
1917 tree: {
1918 url: string;
1919 sha: string;
1920 };
1921 comment_count: number;
1922 verification: {
1923 verified: boolean;
1924 reason: string;
1925 signature: null;
1926 payload: null;
1927 };
1928 };
1929 author: {
1930 login: string;
1931 id: number;
1932 node_id: string;
1933 avatar_url: string;
1934 gravatar_id: string;
1935 url: string;
1936 html_url: string;
1937 followers_url: string;
1938 following_url: string;
1939 gists_url: string;
1940 starred_url: string;
1941 subscriptions_url: string;
1942 organizations_url: string;
1943 repos_url: string;
1944 events_url: string;
1945 received_events_url: string;
1946 type: string;
1947 site_admin: boolean;
1948 };
1949 committer: {
1950 login: string;
1951 id: number;
1952 node_id: string;
1953 avatar_url: string;
1954 gravatar_id: string;
1955 url: string;
1956 html_url: string;
1957 followers_url: string;
1958 following_url: string;
1959 gists_url: string;
1960 starred_url: string;
1961 subscriptions_url: string;
1962 organizations_url: string;
1963 repos_url: string;
1964 events_url: string;
1965 received_events_url: string;
1966 type: string;
1967 site_admin: boolean;
1968 };
1969 parents: {
1970 url: string;
1971 sha: string;
1972 }[];
1973 }[]>;
1974 /** Find a comment that is using the context in a PR */
1975 getCommentId(pr: number, context?: string): Promise<number>;
1976 /** Delete a comment on an issue or pull request */
1977 deleteComment(pr: number, context?: string): Promise<void>;
1978 /** Create a comment on an issue or pull request */
1979 createComment(message: string, pr: number, context?: string): Promise<import("@octokit/types").OctokitResponse<{
1980 id: number;
1981 node_id: string;
1982 url: string;
1983 html_url: string;
1984 body: string;
1985 user: {
1986 login: string;
1987 id: number;
1988 node_id: string;
1989 avatar_url: string;
1990 gravatar_id: string;
1991 url: string;
1992 html_url: string;
1993 followers_url: string;
1994 following_url: string;
1995 gists_url: string;
1996 starred_url: string;
1997 subscriptions_url: string;
1998 organizations_url: string;
1999 repos_url: string;
2000 events_url: string;
2001 received_events_url: string;
2002 type: string;
2003 site_admin: boolean;
2004 };
2005 created_at: string;
2006 updated_at: string;
2007 }>>;
2008 /** Edit a comment on an issue or pull request */
2009 editComment(message: string, pr: number, context?: string): Promise<import("@octokit/types").OctokitResponse<{
2010 id: number;
2011 node_id: string;
2012 url: string;
2013 html_url: string;
2014 body: string;
2015 user: {
2016 login: string;
2017 id: number;
2018 node_id: string;
2019 avatar_url: string;
2020 gravatar_id: string;
2021 url: string;
2022 html_url: string;
2023 followers_url: string;
2024 following_url: string;
2025 gists_url: string;
2026 starred_url: string;
2027 subscriptions_url: string;
2028 organizations_url: string;
2029 repos_url: string;
2030 events_url: string;
2031 received_events_url: string;
2032 type: string;
2033 site_admin: boolean;
2034 };
2035 created_at: string;
2036 updated_at: string;
2037 }>>;
2038 /** Create a comment on a pull request body */
2039 addToPrBody(message: string, pr: number, context?: string): Promise<import("@octokit/types").OctokitResponse<{
2040 id: number;
2041 node_id: string;
2042 url: string;
2043 repository_url: string;
2044 labels_url: string;
2045 comments_url: string;
2046 events_url: string;
2047 html_url: string;
2048 number: number;
2049 state: string;
2050 title: string;
2051 body: string;
2052 user: {
2053 login: string;
2054 id: number;
2055 node_id: string;
2056 avatar_url: string;
2057 gravatar_id: string;
2058 url: string;
2059 html_url: string;
2060 followers_url: string;
2061 following_url: string;
2062 gists_url: string;
2063 starred_url: string;
2064 subscriptions_url: string;
2065 organizations_url: string;
2066 repos_url: string;
2067 events_url: string;
2068 received_events_url: string;
2069 type: string;
2070 site_admin: boolean;
2071 };
2072 labels: {
2073 id: number;
2074 node_id: string;
2075 url: string;
2076 name: string;
2077 description: string;
2078 color: string;
2079 default: boolean;
2080 }[];
2081 assignee: {
2082 login: string;
2083 id: number;
2084 node_id: string;
2085 avatar_url: string;
2086 gravatar_id: string;
2087 url: string;
2088 html_url: string;
2089 followers_url: string;
2090 following_url: string;
2091 gists_url: string;
2092 starred_url: string;
2093 subscriptions_url: string;
2094 organizations_url: string;
2095 repos_url: string;
2096 events_url: string;
2097 received_events_url: string;
2098 type: string;
2099 site_admin: boolean;
2100 };
2101 assignees: {
2102 login: string;
2103 id: number;
2104 node_id: string;
2105 avatar_url: string;
2106 gravatar_id: string;
2107 url: string;
2108 html_url: string;
2109 followers_url: string;
2110 following_url: string;
2111 gists_url: string;
2112 starred_url: string;
2113 subscriptions_url: string;
2114 organizations_url: string;
2115 repos_url: string;
2116 events_url: string;
2117 received_events_url: string;
2118 type: string;
2119 site_admin: boolean;
2120 }[];
2121 milestone: {
2122 url: string;
2123 html_url: string;
2124 labels_url: string;
2125 id: number;
2126 node_id: string;
2127 number: number;
2128 state: string;
2129 title: string;
2130 description: string;
2131 creator: {
2132 login: string;
2133 id: number;
2134 node_id: string;
2135 avatar_url: string;
2136 gravatar_id: string;
2137 url: string;
2138 html_url: string;
2139 followers_url: string;
2140 following_url: string;
2141 gists_url: string;
2142 starred_url: string;
2143 subscriptions_url: string;
2144 organizations_url: string;
2145 repos_url: string;
2146 events_url: string;
2147 received_events_url: string;
2148 type: string;
2149 site_admin: boolean;
2150 };
2151 open_issues: number;
2152 closed_issues: number;
2153 created_at: string;
2154 updated_at: string;
2155 closed_at: string;
2156 due_on: string;
2157 };
2158 locked: boolean;
2159 active_lock_reason: string;
2160 comments: number;
2161 pull_request: {
2162 url: string;
2163 html_url: string;
2164 diff_url: string;
2165 patch_url: string;
2166 };
2167 closed_at: null;
2168 created_at: string;
2169 updated_at: string;
2170 closed_by: {
2171 login: string;
2172 id: number;
2173 node_id: string;
2174 avatar_url: string;
2175 gravatar_id: string;
2176 url: string;
2177 html_url: string;
2178 followers_url: string;
2179 following_url: string;
2180 gists_url: string;
2181 starred_url: string;
2182 subscriptions_url: string;
2183 organizations_url: string;
2184 repos_url: string;
2185 events_url: string;
2186 received_events_url: string;
2187 type: string;
2188 site_admin: boolean;
2189 };
2190 }>>;
2191 /** Create a release for the GitHub projecct */
2192 publish(releaseNotes: string, tag: string, prerelease?: boolean): Promise<import("@octokit/types").OctokitResponse<{
2193 url: string;
2194 html_url: string;
2195 assets_url: string;
2196 upload_url: string;
2197 tarball_url: string;
2198 zipball_url: string;
2199 id: number;
2200 node_id: string;
2201 tag_name: string;
2202 target_commitish: string;
2203 name: string;
2204 body: string;
2205 draft: boolean;
2206 prerelease: boolean;
2207 created_at: string;
2208 published_at: string;
2209 author: {
2210 login: string;
2211 id: number;
2212 node_id: string;
2213 avatar_url: string;
2214 gravatar_id: string;
2215 url: string;
2216 html_url: string;
2217 followers_url: string;
2218 following_url: string;
2219 gists_url: string;
2220 starred_url: string;
2221 subscriptions_url: string;
2222 organizations_url: string;
2223 repos_url: string;
2224 events_url: string;
2225 received_events_url: string;
2226 type: string;
2227 site_admin: boolean;
2228 };
2229 assets: any[];
2230 }>>;
2231 /** Get the latest tag in the git tree */
2232 getLatestTagInBranch(since?: string): Promise<string>;
2233 /** Get the tag before latest in the git tree */
2234 getPreviousTagInBranch(): Promise<string>;
2235 /** Get all the tags for a given branch. */
2236 getTags(branch: string): Promise<string[]>;
2237 /** Get the a tag that isn't in the base branch */
2238 getTagNotInBaseBranch(branch: string, options?: {
2239 /** Return the first tag not in baseBrach, defaults to last tag. */
2240 first?: boolean;
2241 }): Promise<string | undefined>;
2242 /** Get the last tag that isn't in the base branch */
2243 getLastTagNotInBaseBranch(branch: string): Promise<string | undefined>;
2244 /** Determine the pull request for a commit hash */
2245 matchCommitToPr(sha: string): Promise<{
2246 labels: string[];
2247 number: number;
2248 state: "MERGED" | "CLOSED" | "OPEN";
2249 body: string;
2250 headRefName: string;
2251 headRepositoryOwner: {
2252 login: string;
2253 };
2254 } | undefined>;
2255}
2256export {};
2257//# sourceMappingURL=git.d.ts.map
\No newline at end of file